mkdir:无法创建目录:没有这样的文件或目录[重复]

Modified on: Sat, 30 Jun 2018 04:28:30 +0800
    

这个问题已经有了答案:

    

    

以下命令出了什么问题?

$ var1="~/Music/$(date +%d%m%y)"
$ echo "$var1"
~/Music/240118
$ mkdir "$var1"
mkdir: cannot create directory ‘~/Music/240118’: No such file or directory

然而

$ mkdir ~/Music/240118

作品。

从未想过在使用bash多年之后我会问这样的问题......

作者:ka3ak

最佳答案

扩展变量后,Tilde扩展不起作用,因此如果在var中放置文字代字号,它将以mkdir的字面代码结尾。 (注意来自mkdir的错误消息如何包含文字代字号,而不是主目录的实际路径。)

而且,由于你在代号中将波形符号放在引号中,它也不会在那里展开。如果它不在引号中,它会:

$ var="~/Music"; echo $var
~/Music
$ var=~/"Music"; echo $var
/home/me/Music

当然,您可以随时使用$HOME

$ var="$HOME/Music"; echo $var
/home/me/Music
作者:ilkkachu

相关问答

添加新评论