我必须检查文件的存在dir1
和dir2
.然后,递归删除它们,否则打印一些消息.这是我的代码:
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
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误的表达错误.
./check.sh: line 16: [: missing `]'
directory does not exist.
Run Code Online (Sandbox Code Playgroud)
这有什么不对?
此行未正确写入:
if [ -d "dir1"] && [-d "dir2"]; then
^ ^ ^
missing spaces
Run Code Online (Sandbox Code Playgroud)
应该
if [ -d "dir1" ] && [ -d "dir2" ]; then
Run Code Online (Sandbox Code Playgroud)
然后你有这个:
rn -r dir1
^
rn does not exist
Run Code Online (Sandbox Code Playgroud)
这应该是rm
和dir2
因为...你已经删除dir1
:
rm -r dir2
Run Code Online (Sandbox Code Playgroud)