我期待在我的终端上执行别名,该别名将登录到另一个shell并在那里执行命令。
例如,
sh ='ssh [email protected]'
shls ='sh; ls'(也试过'sh && ls')
在这种情况下,当我给'shls'时,我想ssh到(pwd less entry enabled)x.x.x.x然后在那里执行ls命令。但'ls'部分不起作用。
我理解shell已更改,因此它不再在父shell的范围内触发ls,但只是想知道是否有办法将其推送到登录的shell并在那里执行。
事实上,我想使用x.x.x.x中可用的另一个别名代替'ls',但作为第一步,我想至少让它工作。
希望我能说清楚,先谢谢你的帮助。
您可以将命令传递给ssh
作为参数(在各种连接参数之后):
alias shls='ssh [email protected] ls'
顺便说一下,我建议不要使用别名sh
- 这是运行shell脚本(*)的常用命令,并赋予它不同的含义可能会引起混淆。
(*虽然使用sh
命令,但通常最好给脚本一个正确的shebang线,然后输入它的路径。)