关于 Ubuntu 16.04 .bashrc 未执行的问题
本地通过 ssh 执行远端服务器命令时,抛出相关命令找不到的错误信息;通过 ssh 登录到服务器,该命令可以找到。
推测是环境变量的问题,经过验证,两种方式 echo $PATH
的结果存在差异。证实其在 ~/.bashrc
中的 $PATH
改写命令未执行。
推测 ~/.bashrc
在远端执行 ssh 命令时未自动执行
- 操作 1: 在远端执行命令头部插入一句
. ~/.bashrc;
,实际并没有效果 - 操作 2: 在
~/.bashrc
文件顶部插入一行touch ~/something.txt
,再度执行远端命令,有文件生成 - 可以得出远端 ssh 依然有执行
~/.bashrc
的结论,推测不成立
实际情况
查看 ~/.bashrc
可见,其顶部有判断当前命令执行的交互方式,且十分显眼。。。
1 | # If not running interactively, don't do anything |
故删掉以上判断即可正常运行。