10

我想为命令设置别名:

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

但是来自和来自命令的引号alias alias_name=""彼此不喜欢。

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

4

1 回答 1

21

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

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'"

它应该可以工作。

于 2013-01-02T14:16:13.153 回答