[英]Bash script to mkdir
我試圖基於用戶輸入的變量創建目錄,然后將文件保存在那里。
我以為這對我來說就足夠簡單了,但是當我嘗試將其保存在那里時,我收到一條錯誤消息“ No such file or directory”。 當我按“ ls”時,它會在目錄中標有“?” 之后。
我正在Mac終端上使用.sh腳本。
#get user input
echo "enter the collection number"
read COLLECTION
#create the directory
mkdir "$COLLECTION"dir
#calculate a checksum and save it to the above directory
sudo openssl md5 /dev/disk1 > "$COLLECTION"dir/md5.txt
-
檢查您的腳本以查看是否具有DOS樣式的行尾( \\r\\n
)。 如果不確定,可以在腳本上安全地運行dos2unix
。
?
您在文件名中看到的實際上可能是該行末尾的回車符(因為Bash不會將其視為空格)。
因此, "$COLLECTION"dir/
不存在; "$COLLECTION"dir\\r/
可以。
編輯: Vi通常會很好地向您展示這些特殊字符是什么。
ls | vi -
該代碼中唯一可能給您“沒有這樣的文件或目錄”錯誤的部分是最后一行。 /dev/disk1
在您的計算機上是否存在?
出現錯誤時,我使用mkdir -p
;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.