我想知道是否可以使用别名命令传递参数。
例如:
alias d="dmesg|grep -iw usb|tail -5"
Run Code Online (Sandbox Code Playgroud)
现在d将打印最后 5 行。如果我想使用 d 打印不同数量的行,我必须再次更改别名命令声明d。
有什么方法可以修改别名的声明,这样我就不必重新键入声明来更改行数。就像在声明别名时合并传递行数作为参数d?或者有没有其他方法可以解决这个问题?
我想加快连接到特定服务器的速度。
我有服务器让我们说:
123.123.123.1
123.123.123.2
123.123.123.3
Run Code Online (Sandbox Code Playgroud)
我通常连接以下内容:
ssh -p 12345 my_user@123.123.123.1
Run Code Online (Sandbox Code Playgroud)
这很痛苦,因为服务器之间的唯一区别是 ip 的最后一个数字。
我尝试了以下代码:
alias ssht='{ ip=$(cat -); ssh -p 12345 my_user@"123.123.123.$ip"; }<<<'
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误:
karl@karls-laptop ~/scripts $ ssht 1
Pseudo-terminal will not be allocated because stdin is not a terminal.
Run Code Online (Sandbox Code Playgroud)
有没有办法让这个工作?