コマンドをエイリアス化するために複数の置換を行う良い方法はありますか?
例えば
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を使用していますか?
代わりにシェル関数を使用するのはどうですか?:
$ 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