我希望在我的终端上执行别名,该别名将登录到另一个shell并在那里执行命令。
例如,
sh =' ssh admin@x.x.x.x'
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'但作为第一步,我想至少让它发挥作用。
希望我能说清楚,先谢谢你的帮助。
答案 0 :(得分:1)
您可以将命令作为参数传递给ssh
(在各种连接参数之后):
alias shls='ssh admin@x.x.x.x ls'
BTW,我建议不要使用别名sh
- 这是运行shell脚本(*)的常用命令,并赋予它不同的含义可能会引起混淆。
(*虽然使用sh
命令,但通常最好给脚本一个正确的shebang行,然后输入它的路径。)