我想在将文件复制到远程服务器时使用与登录时不同的 shell。有办法吗?请注意,scp/远程登录都是用同一个用户完成的,所以我不能将 scponly 指定为 shell。
我之所以要这样做是因为我希望我的 bash_profile 仅在我远程登录时执行,而不是在我 scping 文件时执行。
编辑:
好吧,问题实际上是我的 bashrc 被执行了,而不是我之前提到的 bash_profile。我从 bash_profile 获取我的 bashrc,以便将所有内容放在一个地方。我想如果我可以指定 scp 使用 bash 以外的 shell,那么问题就会消失。
答案1
~/.bash_profile
SCP:ing 时不会执行你的命令。我通过添加以下代码进行了测试:
echo "$(date)" >> "${HOME}/test"
到 的末尾~/.bash_profile
并查看tail -f ~/test
。在 SSH 登录时,写入了一个新行。在 SCP 访问时,未写入新行。
您是否注意到一些不良行为,或者您只是认为这是一个问题?