Linux
遞歸查找文件夾名稱並將其分配給變數
我在文件夾路徑中。有一個文件夾名為
dir
. 裡面還有一個文件夾,dir
但我不知道名字。如何找到它並將其分配給變數。PS:我想在多個文件夾上執行它,所以需要一個像上面一樣工作的腳本。
set -- dir/*/
執行上述操作會將 設置
$1
為在 中找到的第一個目錄的路徑名dir
。$2
將是第二個的路徑名,依此類推。並且$@
是 . 中所有目錄路徑名的列表dir
。請注意,末尾的尾隨
/
很dir/*/
重要。沒有它,您可能還會選擇正常文件的名稱。例如,給定以下內容:
. `-- dir |-- A | `-- file2 |-- B | `-- file2 |-- C | `-- file2 `-- file1
$ set -- dir/*/ $ echo "$1" dir/A/ $ printf '%s\n' "$@" dir/A/ dir/B/ dir/C/ $ myfolder="$1" $ printf 'My folder is "%s"\n' "$myfolder" My folder is "dir/A/"