将 mkdir 命令的输出分配给变量
Assign output of mkdir command to variable
我正在尝试将 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
$
None!
当你使用命令替换生成 mkdir 的参数时,看看你得到了多少额外的输出:
$ mkdir tmpbkp.`date +%F`
$
None!
当你把它放在里面时 $()
它仍然没有输出。
mkdir 有一个 -v
选项(至少在 GNU 版本中)可以产生一些输出,但它可能不是您想要的。
你想要目录名在变量中吗?先放到变量里,再调用mkdir.
$ thedir=tmpbkp.`date +%F`
$ mkdir $thedir
$ echo $thedir
tmpbkp.2017-04-06
$
我正在尝试将 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
$
None!
当你使用命令替换生成 mkdir 的参数时,看看你得到了多少额外的输出:
$ mkdir tmpbkp.`date +%F`
$
None!
当你把它放在里面时 $()
它仍然没有输出。
mkdir 有一个 -v
选项(至少在 GNU 版本中)可以产生一些输出,但它可能不是您想要的。
你想要目录名在变量中吗?先放到变量里,再调用mkdir.
$ thedir=tmpbkp.`date +%F`
$ mkdir $thedir
$ echo $thedir
tmpbkp.2017-04-06
$