ドル記号とは何か分かりません。特にこの文脈では:
for url in $(cat example.txt); do host $url;
ベストアンサー1
バッシュリファレンスマニュアル バッシュマニュアル
3.2.4.3 グループ化コマンド
Bash は、実行するコマンドのリストを 1 つの単位にグループ化する 2 つの方法を提供します。命令をグループ化すると、命令の全リストにリダイレクトを適用できます。たとえば、リスト内のすべてのコマンドの出力を単一のストリームにリダイレクトできます。
()
( list )
括弧内にコマンドリストを配置すると、サブシェル環境(コマンド実行環境を参照)が生成され、リスト内の各コマンドがサブシェルで実行されます。リストはサブシェルで実行されるため、サブシェルが完了した後に変数の割り当てが無効になります。
これは以下とは異なります
$
。
3.5.4 コマンドの置換
コマンド置換を使用すると、コマンド出力がコマンド自体を置き換えることができます。コマンド置換は、コマンドが次のように括弧で囲まれている場合に発生します。
$(command)
3.2.4.1 ループ構造
for
for コマンドの構文は次のとおりです。
for name [ [in [words …] ] ; ] do commands; done
単語を展開し、現在のメンバーにバインドされている名前を使用して、結果リストの各メンバーに対してコマンドを1回ずつ実行します。 'in Words'がない場合、forコマンドは 'in "$@"'が指定されているように設定された各位置引数に対して1回実行されます(特殊パラメータを参照)。戻り状態は、最後に実行されたコマンドの終了状態です。拡張という単語にエントリがない場合、コマンドは実行されず、戻り状態はゼロです。
example.txt に次のコンテンツが含まれているとします。
www.google.com
www.youtube.com
www.facebook.com
あなたのコマンドは次のことを行います。
url=www.google.com
host www.google.com
url=www.youtube.com
host www.youtube.com
url=www.facebook.com
host www.facebook.com
host
URL の IP アドレスを返すコマンドです。