如何用文件名中的今天创建一个文件

Hat*_*kNZ 0 linux bash

指令1:

$ touch test"date"
Run Code Online (Sandbox Code Playgroud)

指令2:

$ date +"%F"
2018-01-16
Run Code Online (Sandbox Code Playgroud)

我希望能够运行命令以便test_2018-01-16创建文件。如何或可以结合以上两个命令来执行此操作?

$ touch test_"date"
Run Code Online (Sandbox Code Playgroud)

EDIT1-答案

ks

这些命令

touch fred-`date +%F`
touch "test-$(date +%F)"
touch "test2_$(date +"%F %T")"
Run Code Online (Sandbox Code Playgroud)

分别提取以下文件

fred-2018-01-16
test-2018-01-16
test2_2018-01-16 11:51:53
Run Code Online (Sandbox Code Playgroud)

iam*_*ser 9

您应该使用双引号,并且需要date +"%F"使用命令替换进行评估。

  $ touch "test_$(date +%F)"
Run Code Online (Sandbox Code Playgroud)

这将创建一个空文件 test_2018-01-15

双引号可帮助您创建一个文件,其中某些date命令选项将包含空格。

例如,touch test_$(date)将创建多个文件,而touch "test_$(date)"不会。

正如OP所指出的",当使用多个引号时,需要在格式选项周围加上引号:

touch "test_$(date +"%F %T")" 
Run Code Online (Sandbox Code Playgroud)