0
我正在努力圍繞Bash數組進行打包,特別是我有這個函數需要加載數組;我寫的是這樣的:Bash函數,數組howto?
function list_files() { for f in *; do [[ -e $f ]] || continue done }
function list_array() {
array=list_files
number=0
for items in "${array[@]}"
do
let "number +=1"
echo -e "\033[1m$number\033[0m) $items"
tput sgr0
let "number -=$(echo "${#array[*]}")"
done
}
這裏的問題是該函數只能工作一次,但我需要在腳本中運行幾次。我不確定如何去做這件事。每次調用函數時,我都必須清空並重新加載數組,或者我必須在函數參數(list_array myarrayname而不是list_array)中提供不同的數組名稱。但是,我不知道如何完成這些任務,或者如果它們可能/可行。
任何幫助將非常歡迎!
「功能只能工作一次」?!它根本不起作用。代碼中有語法錯誤。 – choroba 2013-04-30 07:23:02
[永遠不解析ls的輸出](http://mywiki.wooledge.org/ParsingLs)使用file-globbing代替 – 2013-04-30 07:35:31
你認爲'如果$ array'呢? – choroba 2013-04-30 07:37:40