私は素晴らしいシェルスクリプトの終わりにこれを見ましたが、より長いコマンドが欠けているようで、ここでロジックを理解することはできません。
spark ${@:-`cat`}
最後にこんな感じです。このスクリプト。どんなアイデアがありますか?
+遅い場合でも、それを完全なコードスニペットに拡張した人にフラグを立ててください(より良い説明)
答え1
これはパラメータ置換の最初の特別なケースですman bash
。
${parameter:-word}
デフォルト値を使用します。設定されていないか null の場合、parameter
置き換える拡張子です。それ以外の場合、word
値は置き換えられます。parameter
言及した場合、ユーザーがコマンドラインに引数を指定した場合は、使用するか、ユーザーが標準入力に引数を入力する必要があります。
答え2
Afaik:-
デフォルトでは:$@
OR `cat`
($@
に設定されていません`cat`
)を使用してください...
だからいくつかの変数置換項目...
編集:だから何らかのインタラクティブな入力を提供します。
以下は端末テストです。
localhost:~ _druu$ echo ${@:-`cat`}
hello
world
;)
^\hello world ;)
localhost:~ _druu$