gpt4 book ai didi

linux - 为什么这个 bash 脚本给我一个关于 "missing ` ]'"的错误?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:43:13 24 4
gpt4 key购买 nike

我必须检查文件 dir1dir2 是否存在。然后,递归删除它们,否则打印一些消息。这是我的代码:

if [ -d "dir1"] && [-d "dir2"]; then
echo "directory exists"
echo "deleting existing files...."
sleep 2
rm -r dir1
rn -r dir1
echo "exisitng files deleted!!"
else
echo "directory does not exist"
fi

这给我一个错误,说缺少表达式。

./check.sh: line 16: [: missing `]'
directory does not exist.

这里有什么问题吗?

最佳答案

这行写得不对:

if [ -d "dir1"] && [-d "dir2"]; then
^ ^ ^
missing spaces

应该是

if [ -d "dir1" ] && [ -d "dir2" ]; then

然后你有这个:

rn -r dir1
^
rn does not exist

应该是 rmdir2 因为你已经删除了 dir1:

rm -r dir2

关于linux - 为什么这个 bash 脚本给我一个关于 "missing ` ]'"的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17567001/

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