シェルスクリプトでmkdirを使用して一括ディレクトリを作成する

シェルスクリプトでmkdirを使用して一括ディレクトリを作成する

シェルスクリプトを介してmkdirを使用して一括ディレクトリを作成しようとしています。以下のスクリプトは次のとおりです。

#!bin/bash
mkdir /tmp/report*/testfolder*/testdoank

実行するとエラーが発生します。

-bash: ./makefolder.sh: bin/bash: bad interpreter: No such file or directory

何が問題なの?

ベストアンサー1

ハッシュバンの間違ったパスによってエラーが発生したほか、mkdirコマンド自体にも問題がありました。

globはリストにのみ使用できることを覚えておいてください。既存のしたがって、表示されるすべてのエントリはmkdir /tmp/foo*既存のディレクトリを引数として渡しますmkdir/tmp/foo1存在する場合は、そのディレクトリに渡され、既に存在するとmkdir文句を言います。もし/tmp/foo2 いいえ存在する、そうだろういいえに渡され、mkdir生成されません。新しいディレクトリを作成するには、追加の作業を実行する必要があります。

どのディレクトリを作成するかはわかりませんが、一致testdoankする各ディレクトリの下にディレクトリを作成すると仮定すると、/tmp/report*/testfolder*次のことができます。

for dir in /tmp/report*/testfolder*; do
    mkdir "$dir"/testdoank
done

おすすめ記事