私はフォルダパスにいます。というフォルダがありますdir
。中に別のフォルダがありますが、dir
名前がわかりません。それを見つけて変数に割り当てる方法。
PS:複数のフォルダでこれを実行したいので、上記のように動作するスクリプトが必要です。
ベストアンサー1
set -- dir/*/
上記の操作を実行すると、パス$1
名がdir
。$2
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/"