我想为命令设置别名:
expect -c 'spawn ssh usr@ip -p 57022 ; expect password ; send "pass\n" ; interact'
但来自alias alias_name=""
和来自命令的引用并不相同。
我尝试了与'
,"
和`的组合,但所有这些都失败了。
我怎么能这样做?
答案 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'"
它应该有用。