我创建了一个变量并在其中存储了日期、日期和时间:
NOW=$(date "+%a %d/%m/%Y% %H:%M")
然后,我想将$NOW
传递给mv
命令以重命名文件。
例如,创建具有标题和当前日期的名为a.txt的文件:
printf "File Report (" > ~/Desktop/a.txt
echo $NOW"):\n" >> ~/Desktop/a.txt
然后,我尝试使用名称中包含的变量($NOW)重命名该文件:
mv ~/Desktop/a.txt ~/Desktop/'File Report $NOW'.txt
最后一行应该是什么?我也尝试了这两个选项。
mv ~/Desktop/a.txt ~/Desktop/'File Report' $NOW.txt
&
mv ~/Desktop/a.txt ~/Desktop/'File Report'${NOW}.txt
发布于 2016-01-16 11:49:00
假设有一个合理的类似于Bourne的shell (比如bash),变量替换不会发生在单引号中。您需要使用双引号:
mv ~/Desktop/a.txt "${HOME}/Desktop/File Report ${NOW}.txt"
(我不确定是否需要大括号,但它们无伤大雅)
您还需要更改date命令,以避免使用斜杠。例如:
NOW="$(date '+%a %d-%m-%Y% %H:%M')"
https://stackoverflow.com/questions/34823263
复制相似问题