`sudo su`の後に環境変数は表示されません。

`sudo su`の後に環境変数は表示されません。

user_aユーザー環境変数で以下を設定しました.profile export NODE_ENV=dev

ユーザーとしてログインして bash シェルを起動すると、環境変数が正しく設定されます。これにより、期待どおりに印刷さecho $NODE_ENVれます。dev

他のユーザーとしてログインしたuser_b後、user_amakeコマンドはsudo su user_a環境変数を設定しません。

環境変数がNODE_ENV設定されているかどうかを確認するには?

ベストアンサー1

コマンドを実行すると、プロファイルsu user全体をロードせずにそのユーザーに切り替えられます。$HOME$SHELLおよび変数のみ$USERがロードされます。$LOGNAMEユーザーに切り替えたときにユーザーのプロファイル全体をロードするには、--loginこのフラグを使用してそのユーザーとしてログインしたことを指定する必要があります。このフラグのショートカットは-suの後のダッシュ()なので、コマンドは次のようになりますsu - user

おすすめ記事