有没有一种好方法可以为命令别名进行多次替换?
例如
alias cmd = 'ssh -R $1:$2:$1:$2 $3 | something {$1, $2, $3}'
cmd 127.0.0.1 1234 server
像这样的东西。。
实际上,像这样管道输出并没有任何意义,但我希望看到类似的语法。
拥有命名映射也很好,但只有索引就可以了。
也许使用awk?
有没有一种好方法可以为命令别名进行多次替换?
例如
alias cmd = 'ssh -R $1:$2:$1:$2 $3 | something {$1, $2, $3}'
cmd 127.0.0.1 1234 server
像这样的东西。。
实际上,像这样管道输出并没有任何意义,但我希望看到类似的语法。
拥有命名映射也很好,但只有索引就可以了。
也许使用awk?
改用 shell 函数怎么样?:
$ cmd() { echo ssh -R $1:$2:$1:$2 $3 ; echo something {$1, $2, $3} ; }
$ cmd 127.0.0.1 1234 server
ssh -R 127.0.0.1:1234:127.0.0.1:1234 server
something {127.0.0.1, 1234, server}
您必须使用函数来定义它。例子:
cmd () { echo -e "$1\n$2" | grep "$1"; }
不要忘记 和 之间的{
空格echo
。
这将导致以下行为:
$ cmd hello world
hello