我正在尝试使用一个变量,mkdir
但它没有创建新目录。如果我在没有变量的情况下尝试它工作正常。
[kurs@localhost ~]$ K="~/a/`date +%Y%m%d`"
[kurs@localhost ~]$ echo $K
~/a/20190926
[kurs@localhost ~]$ mkdir $K
mkdir: nie można utworzyć katalogu „~/a/20190926”: Nie ma takiego pliku ani katalogu
[kurs@localhost ~]$
[kurs@localhost ~]$ mkdir ~/a/20190926
问题不在于mkdir
命令,而在于变量赋值。~
如果不加引号,它只会扩展到您的主目录。如果你引用它,你会得到一个文字波浪号字符。去掉双引号。
$ K=~/a/`date +%Y%m%d`
$ echo $K
/home/kurs/a/20190926
$ mkdir $K
引用变量扩展名是个好主意,否则带有空格和其他不寻常字符的文件名会让您感到困惑。我建议你写:
$ mkdir "$K"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句