フォルダがあるとしましょう。
./folder/
内部には多くのファイルとサブディレクトリもあります。
私が実行したとき:
mkdir -p folder
エラーや警告も表示されません。
だから確認したかったです。このコマンドの結果に欠落または変更されたものはありますか?
答え1
mkdir -p
ディレクトリがすでに存在し、ディレクトリの内容が変更されない場合、エラーは発生しません。
答え2
移植可能なスクリプトはPOSIXに依存します。mkdir
~の-p
オプション:
各目次既存のディレクトリに名前を付けるオペランドは、エラーなしで無視する必要があります。
エラーが報告されていない場合-p
オプションが操作を完了しました。
不足している中間パス名コンポーネントを作成します。
答え3
ディレクトリがすでに存在する場合、mkdir はエラーを表示します。
目次-血ディレクトリがすでに存在する場合、エラーは発生しません。また、ディレクトリは変更されていません。つまり、内容はそのまま残ります。
答え4
そう言うけど、
実行すると、
mkdir -p folder
エラーや警告も表示されません。
コマンドが失敗するとエラーが表示されます。この-p
フラグは、ディレクトリがすでに存在する場合にのみエラーを抑制します。
touch x
mkdir -p x
mkdir: cannot create directory ‘x’: File exists
で一般ユーザーとして試してみると/etc
。
抑制されるのは、-p
ターゲットディレクトリがすでに存在するときに発生するエラーです。
mkdir y
mkdir -p y
しかし、すべての場合には、何も失わず、何も変更しません。エラーが発生すると、目的のディレクトリを取得できません。