我有一些经常使用的命令,但它们很难记住,例如lsof -i -P -n | grep LISTEN
。我想为它们创建一个别名,当通过 ssh 登录另一台服务器时也适用。这可能吗?
答案1
这是不可能的。您需要在其他服务器上定义您的别名。
答案2
不要在远程主机上定义别名,而是定义本地别名以远程执行命令。因此,您无需在本地计算机上执行此操作,而是可以先执行$ ssh bar@foo
然后执行:lsof -P -i -n | grep LISTEN
$ alias foolsof='ssh bar@foo "lsof -i -P -n" | grep LISTEN'
$ foolsof
请注意,管道和重定向可能很棘手,上述命令中的 grep 在您的本地机器上执行。
答案3
您无法创建别名,但可以将 shell 变量替换到无人值守的 ssh 会话中。我有时会用它来定义脚本中的标志。
导出 THAT_COMMAND_YOU_LIKE="aptitude moo"
ssh 用户@服务器“sudo $THAT_COMMAND_YOU_LIKE”