我正在尝试删除bash脚本中环境变量引用的目录,如下所示:
#!/bin/bash
export DIR='~/.docker-volumes/mydir'
rm -rf ${DIR}
在https://unix.stackexchange.com/questions/61166/rm-fr-not-working和Deleting content of folder with shell script中提出了一些建议之后,我还在bash脚本中尝试了以下操作:
rm -rf ${DIR}
find ${DIR} -type d -delete
rm -rf "$DIR"
echo $DIR | rm -rf
rm -rf -- "$DIR"
但是,不会删除$DIR
指向的目录。我可以使用rm -rf ~/.docker-volumes/mydir
从Mac终端直接将其删除,并且可以正常工作。以下内容也可以从bash脚本中获取:
rm -rf ~/.docker-volumes/mydir
我不喜欢上述方法,因为我想引用一个变量,因为在其他地方也需要相同的路径。
问题:为什么上述所有使用变量的bash脚本命令实际上都没有删除目录?我该怎么做才能使用变量删除目录?