Зачем заключать сценарий оболочки в фигурные скобки?

  1. вам нужно:

    • исходный каталог : разрешение на выполнение и чтение
    • исходный файл: разрешение на чтение.
    • целевой каталог: разрешение на выполнение и запись.
    • целевой файл: вам не нужно никаких разрешений, так как он не закрывается до того, как вы его скопируете. или разрешение на запись, если файл существует.
  2. вам необходимо:

    • исходный каталог: разрешение на выполнение и чтение
    • исходный файл: разрешение на чтение.
    • целевой каталог: разрешение на выполнение и запись.
    • целевой файл: вам не нужно никаких разрешений, так как он не закрывается до того, как вы его скопируете. или разрешение на запись, если файл существует.

Как видите, эти два вопроса на самом деле совпадают. Если вы хотите в этом убедиться, вы можете просто проверить это самостоятельно всего за несколько минут.

3
17.03.2018, 01:52
1 ответ

Для этого нет очевидных причин. Фигурные скобки — это группирующая конструкция, и команды внутри них будут выполняться в той же среде, что и остальная часть скрипта.

Если бы это была обычная скобка, то это была бы под-оболочка (отдельное окружение от остальной части скрипта ), но в данном случае это тоже не имело бы большого значения.

Одной возможной причиной этого является то, что это позволит автору перенаправить весь вывод любой команды в {... }в определенное место, как в

{...some commands...; } >somefile

но здесь этого явно не делается.

Со скобками,

(...some commands... )

автор мог бы установить параметры оболочки и создать локальные переменные, которые не влияют на остальную часть скрипта.

5
27.01.2020, 21:21

Теги

Похожие вопросы