【发布时间】:2014-04-27 13:51:13
【问题描述】:
我在 .bashrc 中注释掉了这一行:
# [ -z "$PS1" ] && return
现在别名已被读取,但我仍然无法执行它...:/
我们可以询问服务器是否定义了别名:
$ ssh server "cd /tmp && alias backup_tb"
alias backup_tb='pg_dump -U david tb > tb.sql'
但它没有展开:
$ ssh server "cd /tmp && backup_tb"
bash: backup_tb: command not found
有什么想法吗?
【问题讨论】:
-
注意这些是不同的东西。
.bashrc中的别名适用于存储此文件的服务器,而您尝试在ssh命令中使用它们,因此在另一台服务器中使用它们。 -
@fedorqui 他实际上在远程
.bashrc中定义了别名,第一个ssh命令显示定义存在。第二个表明它没有被尊重。 -
@HenkLangeveld 你说的完全正确,没有引起足够的重视。
-
为了清晰起见,我编辑了这个并拆分了两个 ssh 部分。
-
我认为这可能与
.bashrc或.bash_profile有关。 What's the difference between .bashrc, .bash_profile, and .environment?