Set Env Vars with Shell Scripts
Sometimes I have limited screen real estate in my terminal, and my normal prompt of current/working/directory (git_branch) %
takes up too much space. I wanted a bash script that could change my prompt to something short like &
in one quick command. So I wrote a shell script:
#!/bin/bash
PS1="\[\e[32m\]& \[\e[m\]"
Nice and simple, right?
~/src/dotfiles (main) % ./shorter.sh
~/src/dotfiles (main) %
Except, it doesn't change anything 😱. That's because changing PS1
isn't executing a command, it's setting an environment variable. So, just executing this shell script isn't enough, we need to source it to source the new PS1
in this terminal.*
~/src/dotfiles (main) % . ./shorter.sh
&
* This is also why changing the prompt like this only affects the current terminal, and not any others that you may have open at the same time.
Tweet