私は何を使用していますか?
- 扱いにくい
- MacOS モハーベ 14.10
私がしたいこと
$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
newvalue
何が問題なの?
$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
myusername
私が試したこと
設定しようとしましたが、何も変更されUSERNAME
ていません....bashrc
.zshrc
.profile
リセットしようとしましたが、unset
何も変わりませんでした...
答え1
シェルUSERNAME
変数はZシェルで特別です。
これは常にシェルプロセスのユーザーIDのアカウント名です。
Almquist、Watanabe、Korn、またはBourne Againシェルで観察される動作は観察されません。彼らが考える限り、この変数は最初に設定されていなかった一般的なシェル変数にすぎません。たとえば、次は93 Kornシェルです。
$echo$ユーザー名 $ユーザー名=ウィブル $echo$ユーザー名 スイング $
Zシェルは、シェルプロセスのUIDアカウント名で始まります。設定しようとすると、そのUIDを変更しようとします。もちろん、スーパーユーザーではなく変数を以前の状態にしておくと、これは失敗します。
USERNAME
ただし、スーパーユーザーとしてZシェルを実行すると、シェル変数とシェルプロセスのユーザーIDの両方が変更されることがわかります。
root#echo$ユーザー名 根 root#ユーザー名=JdeBP 平均血圧%
追加読書
- Paul Falstadet al。 (2015-12-02). 」Shellが設定したパラメータ」。Zハウジングマニュアル。 5.2。