nathan@gentoodesktop ~/Documents $ mkdir test
nathan@gentoodesktop ~/Documents $ mkdir te*/test
mkdir: cannot create directory 'te*/test': No such file or directory
nathan@gentoodesktop ~/Documents $ cd te*
nathan@gentoodesktop ~/Documents/test $ mkdir test
nathan@gentoodesktop ~/Documents/test $ ls
test
答え1
パターンは次にのみ拡張されます。既存の名前で、パターンがte*/test
既存の名前と一致しません。これはte*/test
完全なパターンであり、そのte*
部分は別々に一致しません/test
。
nullglob
パターンが一致しないため(およびシェルオプションが設定されていないためfailglob
)、拡張および提供されず、ディレクトリ内にサブディレクトリを作成mkdir
できないと文句を言います。test
te*
cd te*
パターンがte*
既存のディレクトリの名前と一致するため、コマンドは成功しますtest
。一致する名前がさらにあると、te*
エラーが発生する可能性がありますcd
。
答え2
適切なスイッチを使用してこれらの問題をデバッグできます。 1つ目は、-v
参照できるより多くの出力を生成することです。もう1つは、-p
存在しない場合は親ディレクトリを作成することです。これら2つをプレイすると、良いレッスンを得ることができます。例えば。 :
mkdir -pv _dirname_