为什么如果传递单引号路径,mkdir -p 不能按预期工作?

为什么如果传递单引号路径,mkdir -p 不能按预期工作?

为什么以下命令会mkdir -p '~/something' 在当前目录中创建一个名为“~”的目录,而不是something在主目录中创建一个名为的目录?有什么方法可以解决这个问题吗?

附言:我得到的值~/something是括在单引号中的环境变量。

答案1

在单引号或双引号内,~按字面意思作为波浪符号进行管理,不会翻译为“当前用户主文件夹”。

您有两种方法可以实现您的目标:

  • 使用双引号并将波浪符号替换为变量$HOME。总结:mkdir -p "$HOME/something"$与相反的~,在双引号内不被视为文字。
  • 只是没有引用波浪号。总结:mkdir -p ~/'something'

相关内容