Linux
在 SSH 中使用 export 並在腳本中全域使用該值
當我執行以下命令時:
ssh -q -o BatchMode=yes -T <server> <<'EOF' export INTIAL_COUNT=$(ps -ef|grep -v grep|grep "/bin/ksh /test/bin/worker.sh" |wc -l) EOF echo ${INTIAL_COUNT}
我得到的輸出為空
預期輸出是一些值
echo ${INTIAL_COUNT} 10
嘗試
INTIAL_COUNT=$(ssh -q -o BatchMode=yes -T <server> <<'EOF' ps -ef|grep -c "/bin/ksh /test/bin/[w]orker.sh" EOF )
在哪裡
grep -v grep
被替換為grep [w]
不匹配自身grep ... | wc -l
被替換為grep -c
$( .. )
構造可以跨越線或者
INTIAL_COUNT=$(ssh -q -o BatchMode=yes -T <server> 'ps -ef|grep -c "/bin/ksh /test/bin/[w]orker.sh"')
甚至更短。