MacOS X终端日期和变量问题

MacOS X终端日期和变量问题,macos,terminal,Macos,Terminal,我在win中有一个bat文件,效果很好 set day=%date:~0,2% set month=%date:~3,2% set year=%date:~6,4% set filename=hello-%anno%_%mese%_%giorno%-world.txt my-program.exe --report-file=%filename% 我已经传递了MACOS X,我正在尝试使用*.commad文件进行相同的工作,但我无法传递文件名参数中的日期变量: my-program --rep

我在win中有一个bat文件,效果很好

set day=%date:~0,2%
set month=%date:~3,2%
set year=%date:~6,4%
set filename=hello-%anno%_%mese%_%giorno%-world.txt
my-program.exe --report-file=%filename%
我已经传递了MACOS X,我正在尝试使用*.commad文件进行相同的工作,但我无法传递文件名参数中的日期变量:

my-program --report-file= date "+%Y_%m_%d"
不行!我需要在文件名中添加单词“Hello”和“word.txt”

试图使用
set
$1
但无法将其挂起

set date "+%Y_%m_%d"
echo $1
回显日期


任何帮助都将不胜感激

要使用日期程序的输出,需要使用命令替换。您可以通过使用反勾号或带前导美元符号的括号将其包围来实现这一点

my-program −-report-file=`date "%Y_%m_%d"`

my-program --report-file=$(date "%Y_%m_%d")