我想提出一种方法,无论用户的文件结构如何,都可以在交互式登录或非交互式登录时始终获取用户的配置文件和 bash 配置文件。如果机器上安装的是哪种版本的 Linux 也没关系。
例如,并非每个人都有 ~/.bashrc 或 ~/.bash_profile 文件,但如果有,则应该获取它们。
我最初的想法是这样的(这是在 ssh 之后以编程方式运行):
[ -r /etc/profile ] && . /etc/profile;[ -r ~/.bash_profile ] && . ~/.bash_profile;[ -r ~/.profile ] && . ~/.profile;[ -r ~/.bashrc ] && . ~/.bashrc; OTHER COMMANDS...
然而,这并不完全按照我的计划进行。 .bashrc 文件中的函数似乎没有加载。
我很感激任何帮助!谢谢。
编辑:添加完整的 SSH 命令
ssh -p 22 dev@123 '[ -r /etc/profile ] && source /etc/profile;[ -r ~/.bash_profile ] && source ~/.bash_profile;[ -r ~/.profile ] && source ~/.profile;[ -r ~/.bashrc ] && source ~/.bashrc;cd ~/apps/my-project/;npm install;bower install;grunt production;~/start-apps.sh;' In my case, the command 'grunt' isn't being found because it's initiated in the .bashrc file.