2016-03-07 46 views
1

我已經得到了這個腳本,我知道第一行和if塊發生了什麼,但不能理解if條件。「-z」在shell腳本中究竟做了什麼?

pid5=$(ps aux | grep -w "consumer-1.0.jar general" | grep -v grep | awk '{print $2}') 

     if [ -z "$pid5" ]; then 
      kill -9 "$pid5" 
     fi 

我在谷歌和搜索過,但也找不到任何幫助。

+3

這是寫'killall'的真脆和迂迴的方式,雖然。至少,[無用的'grep's](http://www.iki.fi/era/unix/award.html#grep)應該去。 – tripleee

回答

2

man頁,它說:

`-z字符串」

True if the length of String is zero. 
+0

雖然這將是'test'命令的手冊;出於上下文的原因,'-z'本身不會做任何事情。 – tripleee

+1

我做錯了,我需要檢查字符串是否非空。即我應該使用-n。 謝謝。 – kadamb