当我以交互方式运行我的程序时,它工作正常:
ssh somehost
$ ~/some/path/somescript.py
Run Code Online (Sandbox Code Playgroud)
当我直接通过 ssh 运行我的程序时,它不起作用。变量PYTHONPATH
未设置,因为.bashrc
不是来源。
ssh somehost ~/some/path/somescript.py
Run Code Online (Sandbox Code Playgroud)
如果我运行ssh somehost 'source ~/.bashrc; ~/some/path/somescript.py'
,它工作正常。
但后者不适用于其他一些人,例如使用 tcsh 而根本没有~/.bashrc
)。
在另一台适用于所有 shell 的主机上通过 ssh 运行一个东西的命令是什么?
我有一个 CentOS 5.7 Web 服务器,我想更改使用 SSH 连接时登陆的默认位置。
目前我登陆/home/username
,我想登陆/home
。
我已经以 root 身份进入并添加PermitUserEnvironment yes
到/etc/.ssh/sshd_config
- 据我所知,这会扫描用户自己的ssh
文件夹以查找environment
文件。我不确定的是我要添加到这个环境文件中的内容,因为export path=$PATH:$HOME
似乎不起作用,无论是在这里还是在我的 .bashrc 或 .bash_profile 文件中(据我所知,这不会有什么不同)无论如何,因为 SSH 连接是非交互式 shell?)。
提前致谢。