bash脚本更改日期和时间戳

时间:2016-01-21 18:28:19

标签: bash date time touch

我试图编写一个bash脚本,询问数据/时间和文件名,然后更改输入文件的最后修改日期:

#!/bin/bash
clear
#set -x
echo "Please enter the new date/time stamp"
echo -n "in the form of [ YYYY MM DD hh mm ss ] [ENTER]:"
read YYYY MM DD hh mm ss

echo -n "Please enter the file name. [ENTER]:"
read FNAME
echo touch -d \"$YYYY"-"$MM"-"$DD" "$hh":"$mm":"$ss\" \"$FNAME\"

touch -d \"$YYYY"-"$MM"-"$DD" "$hh":"$mm":"$ss\" \"$FNAME\" 

我收到一个令人困惑的错误:

触摸:日期格式无效'" 2016-01-21 03:03:03"'

如果我从脚本中复制并粘贴我回显到屏幕的行:

touch -d "2016-01-21 03:03:03" "test.docx"

脚本完美无缺。

与往常一样,任何见解都将受到高度赞赏

1 个答案:

答案 0 :(得分:0)

您不需要在脚本中执行任何引用魔术,只需将touch称为:

touch -d "$YYYY-$MM-$DD $hh:$mm:$ss" "$FNAME"