脚本如何通过某些 exec 再次执行自身?

脚本如何通过某些 exec 再次执行自身?

我正在制作用于从服务器备份数据的脚本,它将多次使用 ssh 和 scp 。我的私钥受密码保护,但我使用的环境没有任何 ssh 代理。

我想给脚本添加条件,检查脚本是否使用启动这个答案。如果没有运行 ssh 代理,我想使用exec ssh-agent <original script relaunch>.

怎么做?

答案1

要包装脚本本身,请使用$0(程序/脚本名称) 和$@(扩展的参数列表:与 相同"$1" "$2"...)。

if something; then
    exec ssh-agent "$0" "$@"
fi

相关内容