Why am I no more able to change the environment variable $USERNAME on macOS?
WHAT I WANT TO DO
$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
newvalue
WHAT IS HAPPENING
$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
myusername
WHAT I TRIED
- I tried to use:
sudo
...; - I tried to use:
unset USERNAME
.
USEFUL NOTES
OS: macOS Mojave 10.14
Direnv: https://github.com/direnv/direnv
I am using
zsh
WHAT I DID BEFORE THE ISSUE
I was able to change my environment variable several times using direnv
(https://github.com/direnv/direnv), and everything was working well.
I was able to set local env variables in .envrc
.
Then, I encountered this issue...
SOLUTION
https://unix.stackexchange.com/questions/483469/cannot-change-the-environment-variable
macos environment-variables zsh iterm2 direnv
add a comment |
WHAT I WANT TO DO
$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
newvalue
WHAT IS HAPPENING
$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
myusername
WHAT I TRIED
- I tried to use:
sudo
...; - I tried to use:
unset USERNAME
.
USEFUL NOTES
OS: macOS Mojave 10.14
Direnv: https://github.com/direnv/direnv
I am using
zsh
WHAT I DID BEFORE THE ISSUE
I was able to change my environment variable several times using direnv
(https://github.com/direnv/direnv), and everything was working well.
I was able to set local env variables in .envrc
.
Then, I encountered this issue...
SOLUTION
https://unix.stackexchange.com/questions/483469/cannot-change-the-environment-variable
macos environment-variables zsh iterm2 direnv
add a comment |
WHAT I WANT TO DO
$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
newvalue
WHAT IS HAPPENING
$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
myusername
WHAT I TRIED
- I tried to use:
sudo
...; - I tried to use:
unset USERNAME
.
USEFUL NOTES
OS: macOS Mojave 10.14
Direnv: https://github.com/direnv/direnv
I am using
zsh
WHAT I DID BEFORE THE ISSUE
I was able to change my environment variable several times using direnv
(https://github.com/direnv/direnv), and everything was working well.
I was able to set local env variables in .envrc
.
Then, I encountered this issue...
SOLUTION
https://unix.stackexchange.com/questions/483469/cannot-change-the-environment-variable
macos environment-variables zsh iterm2 direnv
WHAT I WANT TO DO
$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
newvalue
WHAT IS HAPPENING
$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
myusername
WHAT I TRIED
- I tried to use:
sudo
...; - I tried to use:
unset USERNAME
.
USEFUL NOTES
OS: macOS Mojave 10.14
Direnv: https://github.com/direnv/direnv
I am using
zsh
WHAT I DID BEFORE THE ISSUE
I was able to change my environment variable several times using direnv
(https://github.com/direnv/direnv), and everything was working well.
I was able to set local env variables in .envrc
.
Then, I encountered this issue...
SOLUTION
https://unix.stackexchange.com/questions/483469/cannot-change-the-environment-variable
macos environment-variables zsh iterm2 direnv
macos environment-variables zsh iterm2 direnv
edited Dec 1 '18 at 16:52
Riccardo Persiani
asked Nov 21 '18 at 18:18
Riccardo PersianiRiccardo Persiani
2751215
2751215
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
In zsh the USERNAME
var is magical. It is not a normal exported env var. From the man page:
USERNAME <S>
The username corresponding to the real user ID of the shell process. If you
have sufficient privileges, you may change the username (and also the user
ID and group ID) of the shell by assigning to this parameter. Also (assum-
ing sufficient privileges), you may start a single command under a different
username (and user ID and group ID) by `(USERNAME=username; command)'
In other shells, like bash and fish, this is not a special var and you can set it just like any other env var:
bash$ echo $USERNAME
bash$ export USERNAME=wtf
bash$ echo $USERNAME
wtf
add a comment |
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53418303%2fwhy-am-i-no-more-able-to-change-the-environment-variable-username-on-macos%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
In zsh the USERNAME
var is magical. It is not a normal exported env var. From the man page:
USERNAME <S>
The username corresponding to the real user ID of the shell process. If you
have sufficient privileges, you may change the username (and also the user
ID and group ID) of the shell by assigning to this parameter. Also (assum-
ing sufficient privileges), you may start a single command under a different
username (and user ID and group ID) by `(USERNAME=username; command)'
In other shells, like bash and fish, this is not a special var and you can set it just like any other env var:
bash$ echo $USERNAME
bash$ export USERNAME=wtf
bash$ echo $USERNAME
wtf
add a comment |
In zsh the USERNAME
var is magical. It is not a normal exported env var. From the man page:
USERNAME <S>
The username corresponding to the real user ID of the shell process. If you
have sufficient privileges, you may change the username (and also the user
ID and group ID) of the shell by assigning to this parameter. Also (assum-
ing sufficient privileges), you may start a single command under a different
username (and user ID and group ID) by `(USERNAME=username; command)'
In other shells, like bash and fish, this is not a special var and you can set it just like any other env var:
bash$ echo $USERNAME
bash$ export USERNAME=wtf
bash$ echo $USERNAME
wtf
add a comment |
In zsh the USERNAME
var is magical. It is not a normal exported env var. From the man page:
USERNAME <S>
The username corresponding to the real user ID of the shell process. If you
have sufficient privileges, you may change the username (and also the user
ID and group ID) of the shell by assigning to this parameter. Also (assum-
ing sufficient privileges), you may start a single command under a different
username (and user ID and group ID) by `(USERNAME=username; command)'
In other shells, like bash and fish, this is not a special var and you can set it just like any other env var:
bash$ echo $USERNAME
bash$ export USERNAME=wtf
bash$ echo $USERNAME
wtf
In zsh the USERNAME
var is magical. It is not a normal exported env var. From the man page:
USERNAME <S>
The username corresponding to the real user ID of the shell process. If you
have sufficient privileges, you may change the username (and also the user
ID and group ID) of the shell by assigning to this parameter. Also (assum-
ing sufficient privileges), you may start a single command under a different
username (and user ID and group ID) by `(USERNAME=username; command)'
In other shells, like bash and fish, this is not a special var and you can set it just like any other env var:
bash$ echo $USERNAME
bash$ export USERNAME=wtf
bash$ echo $USERNAME
wtf
answered Nov 30 '18 at 21:46
Kurtis RaderKurtis Rader
3,379610
3,379610
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53418303%2fwhy-am-i-no-more-able-to-change-the-environment-variable-username-on-macos%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown