On Fri, 2008-05-16 at 14:07 +0930, Ian Blackwell wrote: > Craig White wrote: > > On my CentOS 4.6 server, this works... > > > > if [ -z `grep entry_chooser.js /var/log/httpd/access_log` ] > > > > On my CentOS 5.1 server, this gives me the following error... > > > > ./test_file.scr: line 3: [: too many arguments > > > > Can anyone explain why the difference and suggest something that makes > > both cases happy? > > > Not sure why 4.6 is allowing it, but your if test will be resolving to > something like this:- > if [ -z this line from your log file and another line and even more > lines until your if test fails with too many arguments I hope you don't > want me to keep typing to make the point ] > > To fix it, wrap the grep instead double quotes as well as the ticks - e.g. > if [ -z "`grep entry_chooser.js /var/log/httpd/access_log`" ] > Then the output from the grep will be seen as one long string, not a > multitude of words from your log file. ---- That works fine one CentOS 5 (double quotes and backtics) but not on CentOS 4.6 Thanks...I guess it's good enough for now. Craig