我在.bashrc中注释掉了这一行:
# [ -z "$PS1" ] && return
Run Code Online (Sandbox Code Playgroud)
现在别名被读取,但我仍然无法执行...:/
我们可以询问服务器是否已定义别名:
$ ssh server "cd /tmp && alias backup_tb"
alias backup_tb='pg_dump -U david tb > tb.sql'
Run Code Online (Sandbox Code Playgroud)
但它没有扩大:
$ ssh server "cd /tmp && backup_tb"
bash: backup_tb: command not found
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
sta*_*005 16
引用自手册页bash
:当shell不是交互式时,别名不会展开,除非使用shopt设置expand_aliases shell选项...
因此,最简单的方法是将以下行放在/home/<user>/.bashrc
文件的顶部:
# comment out the original line
# [ -z "$PS1" ] && return
if [ -z "$PS1" ]; then
shopt -s expand_aliases
# alias ls='ls --color=always'
# return
fi
Run Code Online (Sandbox Code Playgroud)
保存并退出.现在您可以ssh user@host "your_alias"
成功运行.
归档时间: |
|
查看次数: |
6679 次 |
最近记录: |