Mailing List Archive

Support open source code!


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

Re: funny bug



>Thanks for sharing the bug. Not knowing much about shell
>scripting I was wondering if you could explain the bug?
>It's a bit too subtle for me ;)

Shell expands [pP]rog_name to progname if progname is in the
current directory and grep process name becomes `grep progname'.
So `ps -ef | grep progname' will show the grep process too.

And `ps -ef | grep '[pP]rogname'' will not.

Hope this explains everything:)

Viktor

>
>Jc
>
>>From: vp@example.com (Viktor Pavlenko)
>>Reply-To: tlug@example.com
>>To: tlug@example.com
>>Subject: funny bug
>>Date: 30 Mar 2001 10:46:38 +0900
>>
>>I want to share with you a bug in my shell script I discovered
>>yesterday. The script was in production for quite a while...
>>
>>In the shell script I test if a process is running:
>>
>>if [ `ps -ef | grep [pP]rog_name | wc -l` -ne 0 ]
>>
>>[pP]rog_name thing filters out the grep process which works fine
>>... unless your current directory contains prog_name file!
>>
>>if [ `ps -ef | grep '[pP]rog_name' | wc -l` -ne 0 ]
>>
>>fixes the problem.
>>
>>I wonder if a funny bugs collection exists somewhere on the Net.
>>If not, let's start one on the TLUG website :)
>>
>>Viktor

Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links