mkdir Public/1 2 3 ----- この行はパブリックフォルダにフォルダ1を作成し、my pwdに2と3というフォルダを作成します。
mkdir Public/{1..3} ---- この行は、期待どおりに Public にフォルダー 1,2,3 のみを作成します。
何が起こっているのかを説明できる人はいますか?
答え1
最初のコマンドは次のとおりです。
mkdir Public/1 2 3
BASHはこれをパブリックディレクトリにmkdir Public/1
内部という名前のディレクトリを作成すると解釈します。1
他のものは前に追加されたディレクトリがないため、BASHはそれを現在の作業ディレクトリに作成すると解釈します2
。3
2番目のコマンドは次のとおりです。
mkdir Public/{1..3}
ご覧のように、BASHは最初のコマンドと同様に現在の作業ディレクトリを使用するのではなく、中Public/{1..3}
括弧拡張を使用してディレクトリを作成し、ディレクトリ内で使用するものと1
解釈します2
。3
Public
rmdir
で、または代わりに同じコンテンツを使用してもtouch
同じことが起こりますmkdir
。
答え2
、とのmkdir Public/1 2 3
3つのパラメータがあります。このコマンドは次のとおりです。Public/1
2
3
mkdir Public/1
mkdir 2
mkdir 3
mkdir Public/{1..3}
実行する前にシェルから{1..3}
展開してくださいmkdir
。しかし、殻は膨張しません。{1..3}
ホロ。{1..3}
これはより大きな「単語」。以下Public/{1..3}
でPublic/1 Public/2 Public/3
見ることができますecho
。
echo Public/{1..3}
シェルで実行される実際のコマンドはmkdir Public/1 Public/2 Public/3
次のとおりです。
mkdir Public/1
mkdir Public/2
mkdir Public/3