#!/bin/bash
if [!-d /home/mlzboy/b2c2/shared/db]; then
mkdir -p /home/mlzboy/b2c2/shared/db;
fi;
これは機能していないようです。誰も助けることができますか?Bashを使用してフォルダを作成する方法(まだ存在しない場合)
#!/bin/bash
if [!-d /home/mlzboy/b2c2/shared/db]; then
mkdir -p /home/mlzboy/b2c2/shared/db;
fi;
これは機能していないようです。誰も助けることができますか?Bashを使用してフォルダを作成する方法(まだ存在しない場合)
あなたが[
と]
カッコ内のスペースを必要とする:
#!/bin/bash
if [ ! -d /home/mlzboy/b2c2/shared/db ]
then
mkdir -p /home/mlzboy/b2c2/shared/db
fi
私はあなたのコードをフォーマットし直す必要がありますビットだと思います。bashで
#!/bin/bash
if [ ! -d /home/mlzboy/b2c2/shared/db ]; then
mkdir -p /home/mlzboy/b2c2/shared/db;
fi;
まず、 "[" だけですコマンドは最後の引数として文字列 "]"を期待しているので、閉じ括弧の前の空白( "!"と "-d"の間にも2つの別個の引数が必要です)が重要です。
if [ ! -d /home/mlzboy/b2c2/shared/db ]; then
mkdir -p /home/mlzboy/b2c2/shared/db;
fi
第2に、-pスイッチをmkdir
に設定しているので、最初はこのチェックが役に立たないため、このチェックは役に立ちません。ただ書いてください:
mkdir -p /home/mlzboy/b2c2/shared/db;
とthatsそれだけです。
実際に存在するかどうかを確認する必要はありません。それが存在する場合、あなたはすでにそれを作成したいので、ちょうどMKDIRは、単純に行う
mkdir -p /home/mlzboy/b2c2/shared/db
を行います:フォルダが既に存在する場合
mkdir /path/to/your/potentially/existing/folder
ます。mkdirはエラーをスローします。エラーを無視するには、次のように記述してください。
mkdir -p /path/to/your/potentially/existing/folder
何も確認する必要はありません。
クリーナーの方法では、シェル論理演算子のショートカット評価を利用します。演算子の右辺は、左辺が真の場合にのみ実行されます。
[ ! -d /home/mlzboy/b2c2/shared/db ] && mkdir -p /home/mlzboy/b2c2/shared/db
なぜセミコロンがありますか? – ADTC