On 05/18/2010 03:47 PM, Sergey Manucharian wrote: > Excerpts from Linas's message of Tue, 18 May 2010 22:31 +0200: > >> David C. Rankin wrote: >>> Guys, >>> >>> I'm usually quite good at one-liners, but my simple ones no >>> longer work in Arch. Same cli works fine in suse. What have I >>> messed up? To wit: >>> >>> >>> What could keep the simple cli from working on Arch? I know >>> this stuff worked before updates this morning... What should I look >>> at? >> Bash was updated from 4.1.5(2) to 4.1.7(2). >> I can't reproduce it, though. > > I cannot reproduce it either and suspect that your "ls" under $() is > not the real ls, but an alias. I've played with some, and they indeed > produce bad output. > > Cheers, > Sergey > Ahah! I bet you are right. I have aliased ls as: alias ls='ls --color --group-directories-first' which is the way I like ls to work. Let's do a test: [01:19 nirvana:/home/david] # mv /etc/bash.bashrc.local /etc/bash.bashrc.local.sav [01:19 nirvana:/home/david] # x exit 01:19 nirvana:~> su [01:20 nirvana:/home/backup/rpms/compiz_X11.0] # for i in $(ls); do echo "dir: $i"; done dir: i586 dir: noarch dir: repodata dir: repoview dir: src dir: x86_64 now dropping back to my user shell where the alias is still applied: 01:21 nirvana:/home/backup/rpms/compiz_X11.0> for i in $(ls); do echo "dir: $i"; done dir: i586 dir: noarch dir: repodata dir: repoview dir: src dir: x86_64 Double Huh??? Now it works?? I haven't altered the environment for this shell yet?? Let's use my original command line: 01:22 nirvana:/home/backup/rpms/compiz_X11.0> for i in $(ls); do ls ${i}; done ls: cannot access i586: No such file or directory ls: cannot access noarch: No such file or directory ls: cannot access repodata: No such file or directory ls: cannot access repoview: No such file or directory ls: cannot access src: No such file or directory ls: cannot access x86_64: No such file or directory Ah hah! I knew I was screwing myself, I just didn't know how. Let's find out: 01:23 nirvana:/home/backup/rpms/compiz_X11.0> for i in $(ls); do echo "'$i'"; done 'i586' 'noarch' 'repodata' 'repoview' 'src' 'x86_64' 01:24 nirvana:/home/backup/rpms/compiz_X11.0> for i in $(ls); do echo "'ls ${i}'"; done 'ls i586' 'ls noarch' 'ls repodata' 'ls repoview' 'ls src' 'ls x86_64' 01:25 nirvana:/home/backup/rpms/compiz_X11.0> for i in $(ls); do echo "'ls ${i}'"; ls $i; done 'ls i586' ls: cannot access i586: No such file or directory 'ls noarch' ls: cannot access noarch: No such file or directory 'ls repodata' ls: cannot access repodata: No such file or directory 'ls repoview' ls: cannot access repoview: No such file or directory 'ls src' ls: cannot access src: No such file or directory 'ls x86_64' ls: cannot access x86_64: No such file or directory ... I give up :-( ... -- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com