为了同步我的家庭和工作文件系统,我需要通过一台中间计算机并使用端口转发。让我们称家庭计算机 A、中间计算机 B 和工作计算机 C。我从命令行执行此操作
ssh -N -f -L 2025:C:22 me_B@B && unison foo ssh://me_C@localhost:2025/foo
- 我想将这个单行代码放入 bash 脚本中。我怎样才能让它在最后优雅地退出并且不留下任何端口转发仍然设置?
最佳答案
ssh -N -f -L 2025:C:22 me_B@B &
pid=$! # ssh PID
rc=$? # ssh return code
# set up to kill ssh when this script finishes
function finish {
kill $pid
}
trap finish EXIT
[ $rc -eq 0 ] && unison foo ssh://me_C@localhost:2025/foo
关于linux - 完成使用后如何终止端口转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26505294/