答案1
{}
{ list; }
將命令清單放在大括號之間會導致該清單在目前 shell 上下文中執行。沒有創建子shell。列表後面需要分號(或換行符號)。
除了創建子 shell 之外,由於歷史原因,這兩種結構之間還存在細微的差異。大括號是保留字,因此必須用空格或其他 shell 元字元將它們與清單分隔開。括號是運算符,即使它們沒有透過空格與列表分隔,也會被 shell 識別為單獨的標記。
//來源
{}
{ list; }
將命令清單放在大括號之間會導致該清單在目前 shell 上下文中執行。沒有創建子shell。列表後面需要分號(或換行符號)。
除了創建子 shell 之外,由於歷史原因,這兩種結構之間還存在細微的差異。大括號是保留字,因此必須用空格或其他 shell 元字元將它們與清單分隔開。括號是運算符,即使它們沒有透過空格與列表分隔,也會被 shell 識別為單獨的標記。
//來源