shとbashでrootユーザーを確認してください。

shとbashでrootユーザーを確認してください。

新しいFreeBSDインストールにポート/パッケージを自動的にインストールするスクリプトを作成しようとしています。これが機能するには、スクリプトを実行しているユーザーがrootである必要があります。

システムはインストールされていてもインストールされていない可能性があるbashvirginでなければなりません。sudoこれを行うには、ユーザーIDが0であることを確認してください。

問題は、bashとshの環境変数が異なることです。

  • bash -> $EUID(すべて大文字)
  • sh -> $euid(すべて低)

環境変数に加えてrootユーザーを確認する他の方法はありますか?または、環境に応じてユーザーの確認を調整する必要がありますか?

ベストアンサー1

値を確認してみましょう。id -u、次のように任命されました:

有効なユーザーIDのみが「%u \ n」形式で出力されます。

たぶん、次のようなものがあります。

if [ $(id -u) -eq 0 ]
then
  : root
else
  : not root
fi

おすすめ記事