你可能知道那个叉子炸弹:
:(){ :|:&};: #WARNING: harmful code
Run Code Online (Sandbox Code Playgroud)
我想知道为什么有必要解析,在大括号后包含一个空格。
rus*_*ush 13
{}
Run Code Online (Sandbox Code Playgroud){ list; }将命令列表放在大括号之间会导致列表在当前 shell 上下文中执行。没有创建子shell。以下列表中的分号(或换行符)是必需的。
除了创建子shell之外,由于历史原因,这两种构造之间存在细微差别。大括号是保留字,因此必须用空格或其他 shell 元字符将它们与列表分开。括号是运算符,即使它们没有通过空格与列表分开,也会被 shell 识别为单独的标记。
//来源