Linux シェルスクリプト|mkdir: cannot create directory ‘ディレクトリ名’: File exists エラーの原因と対応方法|bash シェル


Linux で シェルスクリプトを実行すると、mkdir: cannot create directory ‘ディレクトリ名’: File exists エラーが発生した。ここでは、エラーの原因と対応方法を記載する。



現象

シェルスクリプトを実行すると、下記のエラーメッセージが表示された。

・エラーメッセージ

mkdir: cannot create directory ‘ディレクトリ名’: File exists

原因

mkdir コマンドを使用して、再度、既に存在するディレクトリと同じ名前のディレクトリを作成しようとしてエラーが発生した。例えば、カレントディレクトリに既に work ディレクトリが存在する状態で下記のシェル test.sh を実行すると、同様のエラーが発生する。



test.sh
#!/bin/bash

mkdir ./work


実行結果

mkdir: cannot create directory ‘work’: File exists

対応方法

mkdir コマンドで「-p」オプションを使用する。「-p」オプションを使用して、mkdir コマンドを実行すると、既にディレクトリが存在する場合、エラーは発生せず、再度、ディレクトリを作成しない。また、必要に応じて親ディレクトリを作成してくれる。例えば、カレントディレクトリに既に work ディレクトリが存在する状態で下記のシェル test.sh を実行すると、エラーは発生しない。

test.sh
#!/bin/bash

mkdir -p ./work





スポンサーリンク

0 件のコメント :

コメントを投稿