この1つのコマンドでsudoアクセスを無効にしている間、スクリプトの残りの部分でsudoを維持しています。 このスクリプトはsudoを使用して呼び出されます。 "sudo ./install.sh"。問題のスニペットは、この(私は現在のコマンドを呼び出すために、新しいユーザーを作成しようとしている、ない使用していた)である。macOS上のshファイル内の1つのコマンドに対してsudoを無効にするSierra
echo >&2 "Installing Homebrew"
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
は、私が唯一の2行目のコマンドがないよう、ルート/なしsudoを実行したいです。私は非常に騒ぎであるので、新しいユーザーを作ることを含めないあらゆる指導/代替方法は非常に高く評価されるだろう。 - スクリプト自体場合
echo >&2 "Installing Homebrew"
sudo -u "$SUDO_USER" /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
(そして、スクリプト内の他のコマンドでsudo
を使用しないでください:スクリプトはsudo
で実行された場合
なぜなら、 'sudo -u USERNAME'を4行目から削除してみませんか? –
申し訳ありませんが、指定する必要がありますが、スクリプトはsudoを使用して実行されるので、すべての行はsudoです。そしてHomebrewのインストールスクリプトはsudoのインストールを禁じています。 – user3338275
実際に* su *が必要なスクリプトの量と、 'sudo'でスクリプト全体を実行するのではなく、必要に応じてスクリプトで' sudo' *を使う方が適切かどうかを考えてください。 – chepner