Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 如何将变量传递给mv命令,以使用空格和变量'重命名文件文本;s bash(.sh)文件中的文本_Date_Variables_Unix_Terminal_Mv - Fatal编程技术网

Date 如何将变量传递给mv命令,以使用空格和变量'重命名文件文本;s bash(.sh)文件中的文本

Date 如何将变量传递给mv命令,以使用空格和变量'重命名文件文本;s bash(.sh)文件中的文本,date,variables,unix,terminal,mv,Date,Variables,Unix,Terminal,Mv,我创建一个变量,并在其中存储日期、日期和时间: NOW=$(date "+%a %d/%m/%Y% %H:%M") 然后我想将$NOW传递给mv命令以重命名文件 e、 g.创建名为a.txt的文件,文件标题和当前日期: printf "File Report (" > ~/Desktop/a.txt echo $NOW"):\n" >> ~/Desktop/a.txt 然后,我尝试使用名称中包含的变量($NOW)重命名该文件: mv ~/Desktop/a.txt ~/

我创建一个变量,并在其中存储日期、日期和时间:

NOW=$(date "+%a %d/%m/%Y% %H:%M")
然后我想将
$NOW
传递给
mv
命令以重命名文件

e、 g.创建名为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
&


假设有一个类似于Bourne的shell(比如bash),变量替换不会发生在单引号内。您需要使用双引号:

mv ~/Desktop/a.txt "${HOME}/Desktop/File Report ${NOW}.txt"
(我不确定是否需要卷发背带,但它们不会受伤)

您还需要更改date命令以避免使用斜杠。例如:

NOW="$(date '+%a %d-%m-%Y% %H:%M')"

它保存在bash脚本中。我这样做了,但是它根本没有重命名文件。它保持为
a.txt
。我还尝试了
mv~/Desktop/a.txt~/Desktop/“文件报告${NOW}”.txt
,但没有重命名文件。在这种情况下,应该会出现错误消息。如果没有错误消息,我无法帮助您。
mv:rename/Users/MyUser/Desktop/a.txt to ~/Desktop/File Report.txt:没有这样的文件或目录
quotes@joshuatvernon:现在试试。@joshuatvernon:不要生成带有斜杠的日期。你不能把它们放在一个文件名中,它们也不能被转义。
NOW="$(date '+%a %d-%m-%Y% %H:%M')"