带有日期时间戳的Bash mkdir
要创建包含一些信息、服务器名称和日期的目录,我将使用:带有日期时间戳的Bash mkdir,bash,date,mkdir,Bash,Date,Mkdir,要创建包含一些信息、服务器名称和日期的目录,我将使用: mkdir ~/abcd-$(home -f)-$(date +"Y%m%d%H%M%S") 正在尝试获取~/abcd-servername-20130418210802 最后我得到了一个?。如果我使用一个变量和一个子字符串(即,{STR1:0:29})函数,我会得到一个或多个?。这真是个麻烦,但我想知道原因。您的目录名中有“非图形”字符。从ls的手册页: -q强制打印文件名中的非图形字符作为 字符“?”;这是输出到终端时的默认值 此外,
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
您正在Windows上编辑脚本吗?听起来您有DOS样式的行结尾,带有\r before\n。操作系统是Linux 2.6.18。脚本已在服务器上编辑。只是想摆脱不想要的角色。