我试图在Windows上使用plink作为ssh替代品,但我发现当plink连接到远程linux机器时,它不会提供.bash_profile或.bashrc.
我应该创建一个不同的点文件吗?还是有其他选择吗?
例如,我的bashrc文件在我的路径中添加了一个目录.这个目录包含我想要使用的额外程序,一个是python.
这不起作用:
plink host python
这将是:
plink host "source .bashrc;python"
当我在没有命令参数的情况下使用plink时,它会输出.bash_profile并且一切正常,但看起来仅通过发送命令plink将不会获取任何文件.
有解决方法吗?
解决方法:
如果您只是通过ssh或plink连接到远程主机,它将启动登录帐户的默认shell.如果该shell是bash,bash将自动获取.bash_profile.
如果通过ssh或plink连接到远程主机,要求执行命令,ssh将尝试执行该命令.
您想要实现的目标可以通过使用ForcedCommand来完成.另见:
> https://serverfault.com/questions/162018/force-ssh-to-use-a-specific-shell/166129#166129和
> http://oreilly.com/catalog/sshtdg/chapter/ch08.html
将强制命令设置为执行以下两项操作的脚本:
>获取.bash_profile
>运行原始命令(env vars $SSH_ORIGINAL_COMMAND或$SSH2_ORIGINAL_COMMAND)