bash -c 'some command'
使用よりも使用すると実際の利点はありますか?bash <<< 'some command'
彼らは同じ効果を得るようです。
答え1
bash -c 'some command'
呼び出し元の標準入力へのアクセスを維持するためread
または、標準入力から読み取るコマンドが正しく機能します。bash <<< 'some command'
その入力を渡された行に置き換えるので、bash -c cat
他bash <<< cat
の操作を実行します。
$ bash -c cat
abc
abc
^D
$ bash <<< cat
$
一方、この機能を活用して、次の方法で独自の標準入力を提供できます。$'...'
、非常に注意してください:
$ bash <<< $'read x y\nabc def ghi\necho $y'
def ghi
$
私はそれに頼りたくありませんが、時には役に立ちます。
bash -c
また、パラメータをスクリプトに渡して$0
以下を設定できます。
bash -c 'some command' sh abc def
と内部$1
に設定されます。abc
$2
def
some command