我正在制作一个简单的shell脚本,我需要测试一个目录(如果存在),删除它并创建一个新目录,如果不存在,则创建它。

这是我到目前为止所拥有的:

if ( ! -d /numbers ); then
        echo "does not exist, creating directory"
        sleep 3s
        mkdir numbers
        echo "Directory created."
else
        echo "Removing existing directory and creating a new one"
        sleep 2s
        rmdir numbers
        echo "directory removed"
        sleep 1s
        mkdir numbers
        echo "Directory created"
fi

但这给我一个错误信息:

myscript.sh: line 17: -d: command not found

以及目录是否存在:

mkdir: cannot create directory `numbers': File exists

===============>>#1 票数:1

您需要在if语句中使用方括号进行测试。 您还使用了rmdir,它仅在目录为空时才起作用。 如果要删除它及其内容,请使用rm -r numbers

也许是这样的:

if [ ! -d numbers ]; then
        echo "does not exist, creating directory"
        sleep 3s
        mkdir numbers
        echo "Directory created."
else
        echo "Removing existing directory and creating a new one"
        sleep 2s
        rm -r numbers
        echo "directory removed"
        sleep 1s
        mkdir numbers
        echo "Directory created"
fi

  ask by user3524591 translate from so

未解决问题?本站智能推荐: