On Thu, Apr 2, 2015 at 4:40 PM, Pedro Gimeno <pgwr-...@personal.formauri.es> wrote: > Bash Version: 4.2 > Patch Level: 37 > Release Status: release > > Description: > If a file with a command that ends in \<newline> is sourced, the next > command issued in the command line does not interpret aliases but > subsequent ones do. It's a minor issue easy to work around, but since > it's surprising behaviour and some aliases are important, I thought I'd > report it. In the real case where I used it, the command was 'rm' which > was an alias to 'rm -i' to ask for confirmation, and it didn't ask. > > Repeat-By: > $ alias hi=echo\ hello > $ echo /bin/true\\ > testbug.sh > $ hi > hello > $ source testbug.sh > $ hi > bash: hi: command not found > $ hi > hello >
Interesting. does the same on my system, but notice something in the following cut'n'paste [tsh009@it-johnmckown-linux junk]$ echo /bin/true\\ >testbug.sh [tsh009@it-johnmckown-linux junk]$ od -tcx1 testbug.sh 0000000 / b i n / t r u e \ \n 2f 62 69 6e 2f 74 72 75 65 5c 0a 0000013 Note that testbug.sh does end in a LF, at least if I did it correctly. Also notice in the following transcript: [tsh009@it-johnmckown-linux junk]$ echo -n /bin/true >|testbug.sh [tsh009@it-johnmckown-linux junk]$ od -tcx1 testbug.sh 0000000 / b i n / t r u e 2f 62 69 6e 2f 74 72 75 65 0000011 [tsh009@it-johnmckown-linux junk]$ source testbug.sh [tsh009@it-johnmckown-linux junk]$ hi hello [tsh009@it-johnmckown-linux junk]$ In this case, testbug.sh truly does NOT have an LF at the end, and there is no problem. Also notice, all by itself, not preceded by the source command: [tsh009@it-johnmckown-linux junk]$ \hi bash: hi: command not found... [tsh009@it-johnmckown-linux junk]$ Also notice: [tsh009@it-johnmckown-linux junk]$ "hi" bash: hi: command not found... Which is expected since enclosing the command in ".." is "quoted", which disables expanding aliases Since testbug.sh terminates with a \, it appears that the BASH shell is "seeing" your second command as \hi. Which _appears to me_ is what BASH would call a "quoted value". And it is documented that aliases are not expanded when quoted. -- If you sent twitter messages while exploring, are you on a textpedition? He's about as useful as a wax frying pan. 10 to the 12th power microphones = 1 Megaphone Maranatha! <>< John McKown