我有这样的代码
#!/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}"
如果目录不存在,这将创建目录。