1
我想在Bash中創建一個關聯數組,其中的文件名是從glob作爲關鍵字派生的。下面是我在做什麼:創建一個Bash關聯數組和glob輸出
declare -A file_hash
for file in *; do
file_hash+=([$file]=1)
done
我很好奇,看看是否有做同樣的事情更直接的方式,有點像我們如何初始化一個正常的數組是這樣的:
file_array=(*)
有一個問題我從another後上了車這樣的想法是:
file_array=(*)
declare -A file_hash=($(echo ${file_array[@]} | sed 's/[^ ]*/[&]=&/g'))
是,最好的方法是什麼?
受到echo方法的啓發,這在某些測試中工作正常,但需要eval:'declare -A filehash; eval $(printf'filehash + =([「%s」] = 1);'* .txt)' –