在命令中使用引号和双引号设置别名

时间:2013-01-02 14:08:39

标签: linux bash shell alias

我想为命令设置别名:

expect -c 'spawn ssh usr@ip -p 57022 ; expect password ; send "pass\n" ; interact'

但来自alias alias_name=""和来自命令的引用并不相同。

我尝试了与'"和`的组合,但所有这些都失败了。 我怎么能这样做?

1 个答案:

答案 0 :(得分:13)

一个简单的解决方案是创建一个函数,而不是别名:

function function_name() {

    expect -c 'spawn ssh usr@ip -p 57022 ; \
        expect password ; send "pass\n" ; interact'

}

因此,您可以致电function_name,它的效果与使用别名一样好。

如果您仍想使用别名,只需转义内部"

alias alias_name="expect -c 'spawn ssh usr@ip -p 57022 ; expect password ; send \"pass\n\" ; interact'"

它应该有用。