1. ホーム
  2. linux

[解決済み] Linux/Ubuntu のセットです。不正なオプション -o pipefail

2022-02-10 03:16:15

質問

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

解決方法は?

を実行中です。 bin/sh を指すシンボリックリンクであり、Ubuntuでは /bin/dash しかし pipefail はバシズムです。

スクリプトを実行可能な状態にします。

chmod +x myscript.sh

を実行し、以下のようにスクリプトを実行します。

sudo ./myscript.sh