Shell 将mkdir命令的输出分配给变量

Shell 将mkdir命令的输出分配给变量,shell,mkdir,mkdirs,Shell,Mkdir,Mkdirs,我试图将mkdir命令的输出分配给一个变量。所以我可以进一步使用这个目录 -bash-4.1$ pwd /user/ravi/myscripts/tmpdata -bash-4.1$ OUTPUT=$(mkdir tmpbkp.`date +%F`) -bash-4.1$ ls | grep tmp tmpbkp.2017-04-06 -bash-4.1$ echo "$OUTPUT" 但是目录名没有分配给变量。请您纠正我的错误。当您单独运行mkdir命令时,请查看它产生了多少输出: $ mk

我试图将mkdir命令的输出分配给一个变量。所以我可以进一步使用这个目录

-bash-4.1$ pwd
/user/ravi/myscripts/tmpdata
-bash-4.1$ OUTPUT=$(mkdir tmpbkp.`date +%F`)
-bash-4.1$ ls | grep tmp
tmpbkp.2017-04-06
-bash-4.1$ echo "$OUTPUT"

但是目录名没有分配给变量。请您纠正我的错误。

当您单独运行mkdir命令时,请查看它产生了多少输出:

$ mkdir foo
$
没有

使用命令替换生成mkdir的参数时,请查看您获得了多少额外输出:

$ mkdir tmpbkp.`date +%F`
$
没有

当您将它放入
$()
中时,它仍然不会产生任何输出

mkdir有一个
-v
选项(至少在GNU版本中)可以产生一些输出,但它可能不是您想要的

要在变量中输入目录名吗?首先将其放入变量中,然后调用mkdir

$ thedir=tmpbkp.`date +%F`
$ mkdir $thedir
$ echo $thedir
tmpbkp.2017-04-06
$

单独运行mkdir命令时,请查看它产生的输出量:

$ mkdir foo
$
没有

使用命令替换生成mkdir的参数时,请查看您获得了多少额外输出:

$ mkdir tmpbkp.`date +%F`
$
没有

当您将它放入
$()
中时,它仍然不会产生任何输出

mkdir有一个
-v
选项(至少在GNU版本中)可以产生一些输出,但它可能不是您想要的

要在变量中输入目录名吗?首先将其放入变量中,然后调用mkdir

$ thedir=tmpbkp.`date +%F`
$ mkdir $thedir
$ echo $thedir
tmpbkp.2017-04-06
$