Bash

什麼時候使用大括號展開?

  • March 1, 2020

我了解大括號擴展是什麼,但我不知道如何最好地使用它。

你什麼時候使用它?

如果您有自己的提示,請教我一些方便且出色的範例。

如果路徑名很長,大括號擴展非常有用。我用它作為備份文件的快速方法:

cp /a/really/long/path/to/some/file.txt{,.bak}

將復製/a/really/long/path/to/some/file.txt/a/really/long/path/to/some/file.txt.bak

您也可以按順序使用它。我曾經這樣做是為了從網上下載很多頁面:

wget http://domain.com/book/page{1..5}.html

要麼

for i in {1..100}
do
  #do something 100 times
done

在創建大型目錄結構時,大括號擴展非常方便:

mkdir -p dir1/{subdir1,subdir2}/{subsubdir1,subsubdir2}

這會給你

find dir1 -type d
dir1
dir1/subdir1
dir1/subdir1/subsubdir1
dir1/subdir1/subsubdir2
dir1/subdir2
dir1/subdir2/subsubdir1
dir1/subdir2/subsubdir2

您甚至可以更進一步,將大括號擴展放入大括號擴展中:

mkdir -p dir1/{subdir{1,2}}/{subsubdir{1,2}}

這將為您提供與上面範例相同的目錄結構。

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