私はこのようなコードを持っています
#!/bin/bash
DIR="test_dir/";
if [! -d "$DIR"]; then
# If it doesn't create it
mkdir $DIR
fi
しかし、なぜそれを実行すると、次のようになりました:
./mycode.sh: line 16: [!: command not found
それを行う正しい方法は何ですか?
[ と ! の間にスペースを追加します。そして前に ] 同様に。
#!/bin/bash
DIR="test_dir/";
if [ ! -d "$DIR" ]; then
# If it doesn't create it
mkdir $DIR
fi
変数を引用符で囲むこともお勧めします。
mkdir "$DIR"
いくつかのスペースを追加します:
if [ ! -d "$DIR" ]; then
# ^ ^
また、次のように言うだけで試みることもできます。
test -d "${dir}" || mkdir "${dir}"
ディレクトリが存在しない場合、これによりディレクトリが作成されます。