4

スクリプトがフォルダー内で実行されているとします。このフォルダーには、スクリプトを実行するたびに変更できる名前の葯フォルダーがあります。そのフォルダの名前を見つけるにはどうすればよいですか?

編集

例として、私のスクリプトが/testfolder既知で変更されていないフォルダーで実行されているとしましょう。

/testfolder別のフォルダがあります: 、これ/testfolder/randomfolderは不明であり、変更される可能性があります。

の名前を見つけるにはどうすればよい/randomfolderですか?

混乱してすみません、それがより明確になることを願っています。

4

2 に答える 2

12
dirs=(/testfolder/*/)

dirsの直接のサブディレクトリである各ディレクトリの名前を含む配列になります/testfolder

1つしかない場合は、次のようにアクセスできます。

echo "$dirs"

また

echo "${dirs[0]}"

複数あり、それらを反復処理する場合:

for dir in "${dirs[@]}"
do
    echo "$dir"
done
于 2012-05-15T17:41:50.367 に答える
6

サブディレクトリが1つだけあると仮定します。

dir=$(find . -mindepth 1 -maxdepth 1 -type d)

GNUを見つけられない場合は、

for f in *; do [[ -d "$f" ]] && { dir=$f; break; }; done
于 2012-05-15T17:21:52.103 に答える