Linux / Ubuntu set: недопустимый параметр -o pipefail - PullRequest
0 голосов
/ 05 января 2019

Приведенная ниже строка кода использовалась для меня все время в дистрибутиве Ubuntu 16.04, но внезапно option-name pipefail является недопустимым вариантом:

set -eu -o pipefail

возвращается:

набор: недопустимый параметр -o pipefail

Почему это происходит? Я запускаю команду в совершенно новой установленной системе и как часть сценария оболочки. Код находится в самом начале:

myscript.sh:

1 #!/bin/bash
2 set -eu -o pipefail
3 ...

Сценарий запускается как sudo:

sudo sh ./myscript.sh

1 Ответ

0 голосов
/ 05 января 2019

Вы используете bin/sh, в Ubuntu это символическая ссылка, указывающая на /bin/dash, но pipefail - это башизм.

Сделать скрипт исполняемым:

chmod +x myscript.sh

и затем запустите скрипт следующим образом:

sudo ./myscript.sh
...