2016-01-21 110 views
0

我試圖寫一個bash腳本,詢問數據/時間和文件名,然後改變輸入文件的最後修改日期: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年1月21日3時03分03秒’」

,如果我複製和粘貼我回顯到屏幕上的線,從腳本:

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

該腳本完美地工作。

與往常一樣,任何見解將不勝感激

回答

0

你不需要做任何報價魔法在你的腳本,只需調用touch爲:

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

從'男人touch':-d ,--date = STRING解析STRING並用它代替當前時間 –