Bash shell脚本工作,alias失败。为什么?

Bash shell脚本工作,alias失败。为什么?,bash,alias,Bash,Alias,我为ssh会话使用定制的gnome终端配置文件(不同的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

我为ssh会话使用定制的gnome终端配置文件(不同的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"

在脚本中,您的参数在$1等中

别名基本上就是文本替换,也就是说,
myssh foo
只需提交

gnome-terminal --window-with-profile=SSH -e "ssh $1" foo
这显然是错误的


只需将脚本添加到~/bin之类的内容。

在脚本中,您的参数在$1等中

别名基本上就是文本替换,也就是说,
myssh foo
只需提交

gnome-terminal --window-with-profile=SSH -e "ssh $1" foo
这显然是错误的


只需将脚本添加到~/bin之类的内容。

bash
别名不接受参数。您可以定义一个shell函数:

myssh () {
    gnome-terminal --window-with-profile=SSH -e "ssh $1"
}

bash
别名不接受参数。您可以定义一个shell函数:

myssh () {
    gnome-terminal --window-with-profile=SSH -e "ssh $1"
}