[CentOS] bash script fails conditional test
Tim Dunphy
bluethundr at gmail.comSun Apr 19 17:15:36 UTC 2015
- Previous message: [CentOS] Custom named logwatch script
- Next message: [CentOS] bash script fails conditional test
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hey all,
I wrote a very basic script to determine if cassandra db is running. I'm
setting a variable called 'pid' to the output of a ps | grep like to grab
the pid of the cassandra process.
#!/bin/bash
pid=$(ps -ef | grep cassandra | grep -v grep | grep -i -v -e grep -e screen
-e s3fs|awk '{print $2}')
if [[ -e $pid ]]
then
echo "Cassandra is running with pid: $pid"
else
echo "Cassandra is DOWN!!!"
fi
But for some reason the script doesn't realize that the pid variable has
been set, and fails the condition. It then reports that Cassnadra is
DOWN!!!".
[root at web1:~] #sh -x ./bin/check-cass.sh
++ ps -ef
++ grep -v grep
++ grep -i -v -e grep -e screen -e s3fs
++ awk '{print $2}'
++ grep cassandra
+ pid=26979
+ [[ -e 26979 ]]
+ echo 'Cassandra is DOWN!!!'
Cassandra is DOWN!!!
Can anybody tell me where I'm going wrong here? Because from what I can
see, clearly the pid variable is being set so the script should be
reporting that cassandra is up!
I'd appreciate any advice you may have.
Thanks,
Tim
--
GPG me!!
gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
- Previous message: [CentOS] Custom named logwatch script
- Next message: [CentOS] bash script fails conditional test
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the CentOS mailing list