mkdir 带日期名称?

Mr *_*r T 13 command-line date mkdir

在 Linux shell 中,我可以创建一个目录但名称是从另一个程序返回的字符串吗?如果我能,怎么做?

特别是我被要求在我的家中创建一个新目录,其名称将是我计算机时钟上的分钟。让我们假设/home/john/01/,01是我时钟上的分钟数。

我在想像管道date +"%M" | mkdir这样的事情,但我不知道如何将返回的数字放入mkdir程序中。

最后我想到了另一个想法,像这样,mkdir (date +"%M")但这也是一个错误。请问有什么帮助吗?

ste*_*ver 22

您正在寻找的概念是命令替换,它使用语法$(command)

mkdir /home/john/$(date +%M)
Run Code Online (Sandbox Code Playgroud)

您可能还会看到较旧的“反引号”语法, `command`


Phi*_*oud 16

mkdir $(date +%Y%m%d)或者我个人使用mkdir $(date +%Y%m%d_%H%M%S)hh:mm:ss。date --help如果您需要更多内容,将为您提供不同的格式。


小智 9

您可以使用以下命令轻松完成:

$ min=$(date +"+%M"); mkdir $min
Run Code Online (Sandbox Code Playgroud)

  • 也是一个不错的方法,很高兴知道您可以声明一个变量,然后将该值赋予 mkdir 程序,谢谢!:) (2认同)

Rap*_*ael 5

您可以通过键入以下命令来做到这一点:

mkdir ~/$(date | awk -F':' '{print $2}')
Run Code Online (Sandbox Code Playgroud)

该命令在home文件夹中创建一个目录并将当前分钟作为名称。