我有一個有趣的問題,我似乎無法找到答案。我正在創建一個簡單的應用程序,它將幫助我的開發部門使用NginX和配置文件自動啓動Docker容器。我的問題是,出於某種原因,我無法讓bash腳本存儲文件夾的名稱,同時掃描目錄。下面是我在談論的一個非常簡單的例子....將函數輸出保存到參數中命名的變量
#!/bin/bash
getFolder() {
local __myResultFolder=$1
local folder
for d in */ ; do
$folder=$d
done
__myResultFolder=$folder
return $folder
}
getFolder FOLDER
echo "Using folder: $FOLDER"
我那麼簡單的腳本保存爲folder_test.sh並把它放在一個文件夾中,其中只有一個文件夾,將所有者更改爲我,並給它正確的權限。然而,當我運行該腳本我不斷收到錯誤...
./folder_test.sh: 8 ./folder_test.sh: =test_folder/: not found
我試圖把$folder=$d
部分在不同類型的報價,但沒有任何工程。我試過$folder="'"$d"'"
,$folder=`$d`
,$folder="$d"
但它都不起作用。讓我瘋狂,任何幫助將不勝感激。謝謝。
http://shellcheck.net/會自動捕捉這個給你。 –
順便說一句,如果你不標記'local d',你就會將它泄露到函數的外部範圍中。 –
Hrm。仔細閱讀,你的目標是執行間接任務?對不起 - 我不應該關閉它。 –