出來我有這個腳本,只是殺死一個應用程序BASH - 奇怪的字符從管道
KEY_NAME=/some/path
kill `ps -ef | grep $KEY_NAME | grep -v grep | awk '{ print $2 }'`
exit 0
如果我手動編寫kill命令因爲比它的工作原理oneliner。但是我必須把它作爲一個不起作用的腳本運行。所以,我試圖調試它,這裏是結果
[[email protected] logs]$ bash -x ./script.sh
+ KEY_NAME=/some/path
++ ps -ef
++ grep /some/path
++ grep -v grep
++ awk '{ print $2 }'
+ kill $'20557\r'
: arguments must be process or job IDs
+ exit 0
爲什麼我不斷收到對kill
行那些奇怪的字符?我怎樣才能擺脫他們?
如果將head -1添加到該管道,會發生什麼情況? – alberge 2012-04-03 09:00:39
你嘗試過'killall'嗎?但是,如果你要殺死你自己的程序,[你可能想重新考慮](http://mywiki.wooledge.org/ProcessManagement)。 – l0b0 2012-04-03 09:00:58
@ l0b0我沒有,我可能不會。我不想最終殺死比我應該擁有的更多流程...... – user219882 2012-04-03 09:11:40