gpt4 book ai didi

bash - 我需要在UNIX中测试目录

转载 作者:行者123 更新时间:2023-12-02 14:38:00 25 4
gpt4 key购买 nike

我正在制作一个简单的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

最佳答案

您需要在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

关于bash - 我需要在UNIX中测试目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23177710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com