2013-04-19 26 views
0

要建立一個目錄,包括一些信息,服務器名稱和日期,我使用:有日期時間猛砸的mkdir郵票

mkdir ~/abcd-$(home -f)-$(date +"Y%m%d%H%M%S") 

試圖讓~/abcd-servername-20130418210802

我就得到了?結束。如果我使用一個變量和一個子字符串(即{STR1:0:29})函數,我會得到一個或多個?。真的只是一個煩惱,但想知道爲什麼。

+1

你編輯在Windows腳本?聽起來像你有DOS風格的行結束符,在\ n之前有一個\ r。 – Barmar

回答

1

您的目錄名中包含「非圖形」字符。從手冊頁ls

-q的文件名作爲 字符''非圖形字符組的打印;這是輸出到終端時的默認值。

此外,它看起來像你說的目錄有一些問題。您的Y應該是%Y,您的home應該是hostname(但您尚未說明操作系統)。

+0

操作系統是Linux 2.6.18。腳本在服務器上編輯。只是想擺脫不需要的字符。 –

1

測試在openSUSE 42.3:

NEWCOMPUTER=`uname -n` 
THEDATE=`date +%Y%m%d%H%M%S` 
mkdir ~/Desktop/computers/$NEWCOMPUTER-$THEDATE