为了创建一个包含一些信息、服务器名称和日期的目录,我使用:
mkdir ~/abcd-$(home -f)-$(date +"Y%m%d%H%M%S")
试图得到~/abcd-servername-20130418210802
我?
最后得到一个。如果我使用一个变量和一个子字符串(即{STR1:0:29}
)函数,我会得到一个或多个?
. 真的只是一个烦恼,但想知道为什么。
您的目录名称中有“非图形”字符。从手册页ls
:
-q 强制将文件名中的非图形字符打印为字符“?”;这是输出到终端时的默认设置。
此外,正如您所说,您的目录似乎存在一些问题。你Y
应该%Y
和你home
应该是hostname
(但你没有说明你的操作系统)。
在 openSUSE 42.3 上测试:
NEWCOMPUTER=`uname -n`
THEDATE=`date +%Y%m%d%H%M%S`
mkdir ~/Desktop/computers/$NEWCOMPUTER-$THEDATE