0
我有一個shell腳本,我正在編寫該命令,通過名稱搜索進程並在該進程超過給定值時返回輸出。在shell腳本中將變量傳遞到awk中
我正在努力尋找命名的過程。該腳本目前看起來像這樣:
#!/bin/bash
findProcessName=$1
findCpuMax=$2
#echo "parameter 1: $findProcessName, parameter2: $findCpuMax"
tempFile=`mktemp /tmp/processsearch.XXXXXX`
#echo "tempDir: $tempFile"
processSnapshot=`ps aux > $tempFile`
findProcess=`awk -v pname="$findProcessName" '/pname/' $tempFile`
echo "process line: "$findProcess
`rm $tempFile`
當我嘗試將該變量傳遞給awk命令時發生錯誤。我檢查了我的awk版本,它確實支持-v
標誌。
如果我替換findProcess
變量賦值的'/pname/'
部分,該腳本將起作用。
我檢查了我的語法,它看起來不錯。任何人都可以指出我要出錯的地方嗎?
太棒了!謝謝。此外,感謝您解釋shell腳本出錯的每一部分,而不只是告訴我「使用pgrep」。對於shell腳本,我仍然很綠,所以對每一個解釋都非常有幫助。 –