Linux 在一个级别之外使用bash别名(shell中的shell)

Linux 在一个级别之外使用bash别名(shell中的shell),linux,bash,shell,alias,Linux,Bash,Shell,Alias,我希望在我的终端上执行一个别名,它将登录到另一个shell并在那里执行一个命令 比如说, sh='sshadmin@x.x.x.x" shls='sh;ls'(也尝试了“sh&&ls”) 在这个场景中,当我给出“shls”时,我希望ssh到(启用pwd-less条目)x.x.x.x,然后在那里执行ls命令。但“ls”部分不起作用 我知道shell发生了变化,因此它不再在父shell的范围内触发ls,但我只是想知道是否有办法将它推送到登录的shell并在那里执行 事实上,我想用x.x.x.x中可用

我希望在我的终端上执行一个别名,它将登录到另一个shell并在那里执行一个命令

比如说,

sh='sshadmin@x.x.x.x"

shls='sh;ls'(也尝试了“sh&&ls”)

在这个场景中,当我给出“shls”时,我希望ssh到(启用pwd-less条目)x.x.x.x,然后在那里执行ls命令。但“ls”部分不起作用

我知道shell发生了变化,因此它不再在父shell的范围内触发ls,但我只是想知道是否有办法将它推送到登录的shell并在那里执行

事实上,我想用x.x.x.x中可用的另一个别名来代替“ls”,但作为第一步,我想至少让它工作起来


希望我能说清楚,提前感谢您的帮助。

您可以将命令作为参数传递给
ssh
(在各种连接参数之后):

顺便说一句,我建议不要使用别名
sh
——这是运行shell脚本(*)的常用命令,给它一个不同的含义可能会引起混淆


(*尽管改用
sh
命令,但通常最好给脚本一个正确的shebang行,然后输入它的路径。)

与脚本相反,关于交互式使用的问题更适合或而不是StackOverflow。从开始,我们的范围仅限于软件开发特有的问题;不是软件开发人员的人设置shell别名。
sa(){sshadmin@x.x.x.x "$@"; }; sals(){sals“$@”}
感谢您的回复。我将试着把我未来对互动使用的疑问发布在上面。谢谢你的回复。这对我来说很好。但是,我尝试使用另一个别名来代替“ls”,它将把我带入docker shell(docker exec命令)。这里我得到了“无法在非tty输入上启用tty模式”错误。试图找出可能的原因。另外,我刚才引用了“sh”作为例子,我没有对alias使用相同的名称。无论如何,谢谢你的提示。
alias shls='ssh admin@x.x.x.x ls'