为什么以下命令会mkdir -p '~/something'
在当前目录中创建一个名为“~”的目录,而不是something
在主目录中创建一个名为的目录?有什么方法可以解决这个问题吗?
附言:我得到的值~/something
是括在单引号中的环境变量。
答案1
在单引号或双引号内,~
按字面意思作为波浪符号进行管理,不会翻译为“当前用户主文件夹”。
您有两种方法可以实现您的目标:
- 使用双引号并将波浪符号替换为变量
$HOME
。总结:mkdir -p "$HOME/something"
。$
与相反的~
,在双引号内不被视为文字。 - 只是没有引用波浪号。总结:
mkdir -p ~/'something'