我需要能够删除与任何用户系统的 Documents 文件夹相关的目录。
rmdir: ~/Documents/Folder: No such file or directory
如果我手动输入扩展路径(/Users/ricky/Documents/Folder),它工作正常。
我认为 bash 会自动扩展路径开头的波浪号?
更新:
在按照建议尝试了一堆不同的方法之后,我现在非常有信心,问题在于我如何存储路径。我从逐行读取的文本文件中获取路径:
...
export_folder_path="$(echo $line | cut -f2 -d=)"
...
echo $export_folder_path
rmdir $export_folder_path
rmdir "$HOME/Documents/Folder\ 1"
这将输出以下内容:
$HOME/Documents/Folder\ 1
rmdir: $HOME/Documents/Folder\ 1: No such file or directory
rmdir: /Users/ricky/Documents/Folder\ 1: Directory not empty (This is actually what I want)
我无法弄清楚手动输入导出路径和使用变量之间的区别。为什么变量拒绝扩展$HOME
?我尝试了许多添加引号的变体,但都没有运气。