簡體   English   中英

用點創建的目錄名,使用 shell 腳本

[英]Directory name created with a dot ,using shell script

我正在使用 Cygwin Terminal 運行 shell 來執行我的 Windows 7 系統的 shell 腳本。 我正在創建目錄,但它的名稱中帶有一個點。

test.sh

#!/bin/bash
echo "Hello World"
temp=$(date '+%d%m%Y')
dirName="Test_$temp"
dirPath=/cygdrive/c/MyFolder/"$dirName"
echo "$dirName"
echo "$dirPath"
mkdir -m 777 $dirPath

在執行sh test.sh它的創建文件夾為Test_26062015而期望為Test_26062015為什么這 3 個特殊的承租人來了,我該如何糾正它

在最后一個命令中雙引號$dirPath並添加-p以在目錄已經存在時忽略mkdir失敗: mkdir -m 777 -p "$dirPath" 除此之外,在組合變量和字符串時要小心: dirName="Test_${temp}"看起來比dirName="Test_$temp"更好。

此外,將用於腳本的靜態分析。


更新:通過分析sh -x的調試輸出,問題出現是由於 OP 腳本中的 DOS 風格的行尾。 將文件轉換為 UNIX 格式解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM