On Thu, Jan 30, 2025 at 01:59:37PM +0100, Roger Price wrote: > 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
Wait a minute... > [[ $(type -t w3m) == "w3m" ]] && unalias w3m > w3m() { /usr/bin/w3m -no-cookie -o auto-image=TRUE $@ ; } ...the problem is that the command w3m exists: the shell expands that thing and tries to run it -- the parentheses then are a syntax error. Thing is, the line as you wrote it is ambiguous whenever the shell knows how to "run" w3m: shall it run it, or are you trying to define a function? The shell decides for the first. Try prefixing the thing with the builtin `function': function w3m() ... Cheers -- t
signature.asc
Description: PGP signature