Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有日期时间戳的Bash mkdir_Bash_Date_Mkdir - Fatal编程技术网

带有日期时间戳的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。脚本已在服务器上编辑。只是想摆脱不想要的角色。