我正在嘗試編寫一個腳本,該腳本將所有帶有路徑的文件名加載到bash腳本中的數組中。Bash腳本將目錄/子目錄中的所有文件加載到數組中
說我想在/ home/documents /中的所有文件夾和子文件夾的文件,它會給我最後的文件數組。
我目前的腳本是非常基本的,但應該有一些功能。
num_partitions=0
for file in /home/documents/*; do
date_partition[$num_partitions]=${file##*/}
((num_partitions++))
echo ${date_partition}
done
目前它只打印黑屏。我如何修復它以獲得我需要的功能並正確地打印我們的?
我是新來的Bash,這實際上是我的第一個腳本。請幫忙。
更簡單:'arr =(/ home/documents/*)' - 這會將文件名模式擴展到數組中。對於包含空格的文件名,這比'$(find ...)'安全。 –
好點。我非常習慣於不需要處理其中有空格的文件。然而,問題仍然是,如果不需要的話,沒有理由使用額外的工具。 –