When I make some changes to the shell/bash behavior, such as setting up an alias, is there a quick command to reinitialize the terminal window instead of closing and opening a new window?
When I make some changes to the shell/bash behavior, such as setting up an alias, is there a quick command to reinitialize the terminal window instead of closing and opening a new window?
If you mean reloading your .bashrc configuration then:
source ~/.bashrc
For less typing, you can replace
source
with a dot:. ~/.bashrc
Some Addition i found in the manpage from the reset/tset command
tset reset terminal intialization
command:
reset
Tset initializes terminals. Tset first determines the type of terminal that you are using. This determination is done as follows, using the first terminal type found.
an advantage seems to be, that it's independent from the used shell. also works with fish here.
So to reinitialize any terminal just do-
OR
An additional option to the
exec bash
is that if you changed your.profile
(or.bash_profile
), you can doThat will read your profile again as well. It wouldn't hurt to add the
-i
option as well to explicitly tell bash that this is an interactive shell, but it can normally figure that out for itself.You have to replace the running application/shell with a new instance. E.g. if you are using
bash
as your preferred shell type the following line in your command line ($ is the placeholder for the beginning of your command line):The running application/shell is replaced by new instance of
bash
like starting from scratch. All your previous modification are gone.Remark: Do not forget that your terminal application may be reprogrammed. You have to reset your terminal application manually.
Use
exec sudo --login --user $USER
.If you also want the previously entered commands to disapper (full reset of the terminal), combine it with
reset
asreset; exec sudo --login --user $USER
.To keep the current working directory as well, use the following function:
There are many answers around the web but most don't actually work. Easy way to test is to set
export SOMEVAR=42
then execute the supposedly resetting command and doecho $SOMEVAR
. If it's 42, the environment was not reset.There is also
exec -c bash -l
orexec env -i bash -l
, but these are broken, somehow the $HOME variable is not set after this.your shell is an executable you can call. So if you're using bash you can call
bash
and if you're using something else like zsh you can just enterzsh
Use the terminal's functions clear or screen.