私の質問は:パイプはどうすればいいですか/どうすればいいですか?複合コマンド( { list; }
)?付録Bを参照してください。付録Aは比較目的で提供されています。
付録I:
$ cat << EOF | xargs -n 1 echo
foo
bar
qux
EOF
foo
bar
qux
添付B:
$ cat << EOF | xargs -n 1 sh -c '{ var="$1"; echo "$var"; }'
foo
bar
qux
EOF
man sh
:
-c Read commands from the command_string operand
instead of from the standard input. Special parame‐
ter 0 will be set from the command_name operand and
the positional parameters ($1, $2, etc.) set from
the remaining argument operands.
ベストアンサー1
問題はsh -c "something"
別のパラメータが必要であるということです$0
。
2番目の例では1つは指定されていないため、空の文字列であり、$1
3つの空白行が表示されます。使用
cat << EOF | xargs -n 1 sh -c '{ var="$1"; echo "$var"; }' inlineshellscript
foo
bar
qux
EOF
food
bar
qux
通常、代わりに使用$0
します。inlineshellscript
sh
inlineshellscript