Roger Price <deb...@rogerprice.org> writes: > On a Debian 12 machine with bash 5.2.15-2+b7, I had this alias in my .bashrc > > alias w3m='/usr/bin/w3m -no-cookie -o auto-image=TRUE ' > > I understand that aliases are frowned on and should be written as functions, > so > I wrote > > [[ $(type -t w3m) == "w3m" ]] && unalias w3m
Shouldn't that be [[ $(type -t w3m) == "alias" ]] && unalias w3m ? > w3m() { /usr/bin/w3m -no-cookie -o auto-image=TRUE $@ ; } > > and received the error message > > bash: .bashrc: line 86: syntax error near unexpected token `(' > bash: .bashrc: line 86: `w3m() { /usr/bin/w3m -no-cookie -o auto-image=TRUE > $@ ; }' > > To fix this, I remove the numeral 3 from w3m, write wm() ... and then the > error > disappears. But the bash man page says that numerals are allowed in names > although it doesn´t say if a name can be a function name: > > name A word consisting only of alphanumeric characters and underscores, > and > beginning with an alphabetic character or an under‐score. > > The man page also says that a function name is an fname (not a name), and > says > "a function name can be any unquoted shell word that does not contain $". > > Nothing in the man page appears to reject w3m so I do not understand why my > function name w3m is refused. > > Roger > -- This signature is currently under constuction.