我为ssh会话使用自定义gnome-terminal配置文件(不同的bg颜色提供了一个很好的视觉提示,我不在本地工作)。为什么我的别名不起作用?
这几乎可以工作,但终端窗口立即关闭。
alias myssh='gnome-terminal --window-with-profile=SSH -e "ssh $1"'
我尝试使用eval并混合引号,没有变化
alias myssh='eval gnome-terminal --window-with-profile=SSH -e "/usr/bin/ssh $1"'
alias myssh='gnome-terminal --window-with-profile=SSH -e \"/usr/bin/ssh $1\"'
alias myssh='eval gnome-terminal --window-with-profile=SSH -e \"/usr/bin/ssh $1\"'
alias myssh='gnome-terminal --window-with-profile=SSH -e \"/usr/bin/ssh $1\"'
别名到文件中的脚本效果很好。有什么区别?
alias myssh='$HOME/bin/myssh.sh'
file:$HOME/bin/myssh.sh
#!/bin/bash
gnome-terminal --window-with-profile=SSH -e "ssh $1"
答案 0 :(得分:2)
在一个脚本中,你的论点是$ 1等。
别名几乎只是文字替换,即myssh foo
只会转入
gnome-terminal --window-with-profile=SSH -e "ssh $1" foo
这显然是错误的。
只需将您的脚本添加到〜/ bin。
之类的内容中答案 1 :(得分:2)
bash
别名不接受参数。您可以改为定义shell函数:
myssh () {
gnome-terminal --window-with-profile=SSH -e "ssh $1"
}