我想寫一個腳本,將允許用戶輸入他們想要存儲文件的目錄的路徑。我有一些看起來像這樣:使用變量作爲目錄路徑重定向輸出在bash
#! /bin/bash
echo "Enter the directory path"
read varpath
varfile="Filename"
echo "This is a file" > "$varpath$varfile"
什麼,我要的是在用戶輸入所謂的「文件名」,並已行的目錄路徑的文件,「這是一個文件」不過,我得到一個錯誤說沒有這樣的文件或目錄。有人能告訴我什麼是錯的,或者是否有替代解決方案。
謝謝。
嘗試' 「$ varpath/$ varfile」' – anubhava
完全取決於什麼樣的用戶輸入。如果'varpath'是'a',那麼這段代碼就會在當前目錄下創建'aFilename',並且沒有錯誤(假設你有寫入權限並且磁盤沒有滿)等等。如果用戶輸入一個包含不存在的目錄的路徑,那麼是的,可以預料的是,會出現錯誤,因爲shell不會自發地創建這些目錄。 (但是你的代碼可以,而且它不會更復雜。)提示:'mkdir -p $(dirname「$ varpath」)'如果'varpath'本身不是一個目錄。) – tripleee