bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ls doesn't work in if statements in bash 4.3


From: billycongo
Subject: Re: ls doesn't work in if statements in bash 4.3
Date: Wed, 26 Mar 2014 17:45:33 -0700 (PDT)
User-agent: G2/1.0

On Wednesday, March 26, 2014 8:30:12 PM UTC-4, billy...@gmail.com wrote:
> I tested on bash 4.3 and 3.0
> 
> 
> 
> testing]$ bash --version
> 
> bash --version
> 
> GNU bash, version 4.3.0(1)-release (x86_64-unknown-linux-gnu)
> 
> 
> 
> In a directory I have:
> 
> 
> 
> testing]$ ls -l
> 
> total 16
> 
> -rw-r--r-- 1 hpierce hpierce 77 Mar 26 20:09 dog1
> 
> -rw-r--r-- 1 hpierce hpierce 77 Mar 26 20:09 dog2
> 
> -rw-r--r-- 1 hpierce hpierce 77 Mar 26 20:09 dog3
> 
> -rw-r--r-- 1 hpierce hpierce  0 Mar 26 20:07 dog4
> 
> -rwxr-xr-x 1 hpierce hpierce 80 Mar 26 20:02 test
> 
> 
> 
> dog1, dog2, and dog3 have content.  dog4 is empty.
> 
> 
> 
> test is a simple script:
> 
> 
> 
> testing]$ cat test
> 
> #!/bin/bash
> 
> FILE=$1
> 
> echo $FILE
> 
> if [ ! -e $FILE ]
> 
> then
> 
>       echo "Usage: $0 <file>"
> 
>       exit 1
> 
> else
> 
>         echo $FILE exists
> 
> fi
> 
> 
> 
> Here's a regular run:
> 
> 
> 
> testing]$ for f in *; do ./test $f; done
> 
> dog1
> 
> dog1 exists
> 
> dog2
> 
> dog2 exists
> 
> dog3
> 
> dog3 exists
> 
> dog4
> 
> dog4 exists
> 
> test
> 
> test exists
> 
> 
> 
> Now I add a ls:
> 
> 
> 
> testing]$ for f in `ls dog*`; do ./test $f; done
> 
> dog1
> 
> Usage: ./test <file>
> 
> dog2
> 
> Usage: ./test <file>
> 
> dog3
> 
> Usage: ./test <file>
> 
> dog4
> 
> Usage: ./test <file>
> 
> 
> 
> So I moved it to an earlier version of bash
> 
> 
> 
> testing]$ bash --version
> 
> bash --version
> 
> GNU bash, version 3.00.15(1)-release (x86_64-redhat-linux-gnu)
> 
> 
> 
> testing]$ for f in `ls dog*`; do ./test $f; done
> 
> dog1
> 
> dog1 exists
> 
> dog2
> 
> dog2 exists
> 
> dog3
> 
> dog3 exists
> 
> dog4
> 
> dog4 exists


I thought about the changes I have made recently and I had added the following 
into my .bashrc:

eval $(dircolors -b ~/.dir_colors)

I commented it out, and now everything works.  I think it's still a bug, though 
I know how to fix it.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]