是否有一种很好的方法可以对命令别名进行多次替换?
例如
alias cmd = 'ssh -R $1:$2:$1:$2 $3 | something {$1, $2, $3}'
cmd 127.0.0.1 1234 server
像这样......
实际上,这样管道输出并没有任何意义,但我希望看到类似的语法。
命名映射也很好,但只是索引很好。
也许使用awk?
答案 0 :(得分:4)
如何使用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}
答案 1 :(得分:1)
您必须使用函数定义它。例如:
cmd () { echo -e "$1\n$2" | grep "$1"; }
不要忘记{
和echo
之间的空格。
这会导致以下行为:
$ cmd hello world
hello