1
貓測試,如果Skype的存在測試grep的輸出
[...] tcp 0 0 172.16.32.34:46783 1xx.2xx.1xx.131:443
ESTABLISHED 1000 2101052 18904/skype [...]
我的貓試驗,獲取相應的處理:
!/bin/bash
grep skype test
if [ $? ]; then
k=$(grep skype test | awk '{print $(NF)}'|grep -o '[0-9]+')
echo "got skype pid"
else
echo "skype is not running";
fi
exit 0
grep的時候發現
「Skype的一切工作正常。
當沒有找到'skype'時,我們仍然有「得到Skype的pid」。
它看起來像$?在腳本中運行時總是== 0。 如果我運行echo $?已經運行該腳本後,我已得到0
如果我做手工,它工作得很好:
cat test
[...] tcp 0 0 172.16.32.34:46783
191.235.128.131:443 ESTABLISHED 1000 2101052 18904/anything [...]
grep skype test -> no output
echo $? -> 1 (it works !!)
任何人的想法!
非常感謝。
因此,使用pgrep的Skype? – c4f4t0r
當然,這將檢查再次運行的進程,但它似乎OP已經有一個名爲'測試' – anubhava
感謝Anubhava文件。我試過[$?== 0]而不是[$? ]但這並沒有改變這個問題。 –