Невозможно выполнить команду direnv последовательно с командами пряжи

На своем Mac-терминале я делаю что-то вроде:

      // `yarn clean` deletes some files
// `yarn` re/installs node_modules
// `yarn start:server` starts the server

> yarn clean && yarn && yarn:start server

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

Но когда я пытаюсь:

      // This is what I want to achieve

> direnv allow && direnv reload && yarn start:server

В direnv команды игнорируются и только yarn start:server выполняется.

Это тоже не работает:

      > direnv allow && direnv reload

Это работает:

      > direnv allow
> ....
> ...
> direnv reload

1 ответ

Оболочка будет выполнять каждую команду одну за другой последовательно, как написано. Серверы часто демонизируются, т.е. fork() и имеют родительский возврат. У них обычно есть-fфлаг, чтобы подавить это поведение, именно потому, что вам может понадобиться такое последовательное поведение.

Другие вопросы по тегам