Linux

遞歸查找文件夾名稱並將其分配給變數

  • June 27, 2018

我在文件夾路徑中。有一個文件夾名為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/"

引用自:https://unix.stackexchange.com/questions/452153