在SSH登录后加载一些别名

时间:2014-02-19 15:53:41

标签: linux bash login ssh alias

在我的日常工作中,我经常需要在设备上使用ssh连接(您可以将其视为只读),并且我编写的命令很长。

这就是我想在ssh登录后加载一些别名的原因。 但是,当我尝试以下内容时,它不起作用:

ssh name @ ipAdress“bash -l; alias short ='veryLongCommandThatIWriteOften'”

我想这是因为bash会停止处理其他命令。

那么可以直接将别名设置为bash的参数,还是有其他解决方案来做我想要的事情?

2 个答案:

答案 0 :(得分:3)

您可以使用shell函数代替别名,bash允许您导出。这样,您首先定义函数,然后导出其名称,最后启动一个继承您的函数的 new 交互式shell。例如:

ssh -t name@ipAddress "short () { veryLongCommandThatIWriteOften; }; export -f short; bash"

-t是为交互式bash shell设置伪终端所必需的,因为ssh不会自动为明显非交互式命令执行此操作。

请注意,您需要注意引用,具体取决于short的正文。

答案 1 :(得分:0)

编辑文件〜/ .bashrc

nano~ / .bashrc

它还有如何设置别名的示例。重新登录以使新别名有效。