我試圖在耙運行以下shell命令:耙 - 運行shell命令將返回錯誤
sh "d='jps -l | grep jar | cut -d ' ' -f 1'; if [ -z \"$d\" ]; then :; else kill \"$d\"; fi;"
但是我得到:
sh: -f 1: not found
如果我在linux下運行外殼,它工作正常。
出了什麼問題?
我試圖在耙運行以下shell命令:耙 - 運行shell命令將返回錯誤
sh "d='jps -l | grep jar | cut -d ' ' -f 1'; if [ -z \"$d\" ]; then :; else kill \"$d\"; fi;"
但是我得到:
sh: -f 1: not found
如果我在linux下運行外殼,它工作正常。
出了什麼問題?
我之前解釋過你的問題。這是你想要的。
d='jps -l | grep jar | cut -d " " -f 1; if [ -z "$d" ]; then :; else kill "$d"; fi;'
system(d)
OR
如果你想命令的輸出(我猜你在這種情況下沒有)
output = `jps -l | grep jar | cut -d " " -f 1; if [ -z "$d" ]; then :; else kill "$d"; fi;`
你需要逃避你的單引號和引用整個字符串:
d='jps -l | grep jar | cut -d \' \' -f 1; if [ -z "$d" ]; then :; else kill "$d"; fi;'
它不工作。現在的命令是sh「d ='jps -l | grep jar | cut -d'''-f 1; if [-z \」$ d \「]; then:; else kill \」$ d \「 ; fi;'「,我得到一個錯誤 – Dejell
sh「d = \」jps -l | grep jar | cut -d''-f 1 \「; if [-z \」$ d \「]; then:; else kill \」$ d \「; fi;」不起作用 – Dejell
更新了我的答案。 –