Cur*_*ous 2 linux ssh bash shell alias
我在谷歌上查了一下这个问题,但之前似乎没有人问过这个问题。有没有办法可以设置别名并将其用作程序的命令行参数?
例如
ssh myserver
Run Code Online (Sandbox Code Playgroud)
并被myserver
定义为我的服务器的IP地址
小智 5
其实是有办法的。但您需要定义两个别名。
第一:Bash 手册指出 ( LESS=+/'^ALIASES' man bash
)
别名 如果别名值的最后一个字符是空白,则还会检查别名后面的下一个命令字是否有别名扩展。
也记录在 POSIX规范中。感谢@gniourf_gniourf提供的链接:
如果替换单词的别名值以 <blank> 结尾,则 shell 应检查下一个命令字以进行别名替换;此过程将继续,直到发现不是有效别名的单词或别名值不以 <blank> 结尾。
所以,如果你定义了这两个别名(请保留末尾的空格):
$ alias ssh='ssh '
$ alias myserver='192.168.0.1'
$ set -x
$ ssh myserver
+ ssh 192.168.0.1
Run Code Online (Sandbox Code Playgroud)
清除别名:
$ unalias ssh
$ unalias myserver
Run Code Online (Sandbox Code Playgroud)
注1:也记录在ksh
和zsh
手册中
注2:经测试工作正常dash
(未找到文档)。
归档时间: |
|
查看次数: |
495 次 |
最近记录: |