对 scp 使用不同的 shell

对 scp 使用不同的 shell

我想在将文件复制到远程服务器时使用与登录时不同的 shell。有办法吗?请注意,scp/远程登录都是用同一个用户完成的,所以我不能将 scponly 指定为 shell。

我之所以要这样做是因为我希望我的 bash_profile 仅在我远程登录时执行,而不是在我 scping 文件时执行。

编辑:

好吧,问题实际上是我的 bashrc 被执行了,而不是我之前提到的 bash_profile。我从 bash_profile 获取我的 bashrc,以便将所有内容放在一个地方。我想如果我可以指定 scp 使用 bash 以外的 shell,那么问题就会消失。

答案1

~/.bash_profileSCP:ing 时不会执行你的命令。我通过添加以下代码进行了测试:

echo "$(date)" >> "${HOME}/test"

到 的末尾~/.bash_profile并查看tail -f ~/test。在 SSH 登录时,写入了一个新行。在 SCP 访问时,未写入新行。

您是否注意到一些不良行为,或者您只是认为这是一个问题?

相关内容