Bash
在 bash 腳本中同時執行 ssh 命令和另一個命令
我有以下腳本
#!/bin/bash for (( c=0; c<=9; c++ )) do ssh -t 192.168.30.11 "tshark -i eth1 -f 'src host 192.168.31.10 and tcp' -w shared_folder/results/bbb_var_4_exp_pcaps/capture-output-$c.pcap -a duration:205" & python ~/shared_folder/tapas/play.py -u http://192.168.31.10/video-content/mm_videos/bbb_var_4/bbb_var_4.m3u8 -m fake -l my-exp-logs/bbb_var_4_exp_logs sleep 210 done
我正在嘗試
ssh
在後台執行命令,第二個命令python
不需要第一個命令來完成。但是當我將 & 添加到 ssh 命令行的末尾時,它就會掛起。有任何想法嗎?
我認為該參數與將命令發送到後台不
-t
兼容。ssh
選項1
省略
-t
:ssh remote-machine 'command' &
選項 2
將遠端程序發送到後台。您可能需要從標準輸入、標準輸出、標準錯誤中分離遠端程序以允許
ssh
立即返回:ssh -t remote-machine 'command < /dev/null &> /dev/null &'