Hey everyone, Thanks for checking out the bash profile generator! I'm a student at Flatiron School[1] NYC (where we have electricity in NYC, no small feat today) and this project came about when we were learning to setup our CLIs in the first week. Please let me know if you have any comments/feedback on twitter: @rexfeng [1] http://flatironschool.com/
I think it might be better if you could insert text in directly in prompt instead of having the slew of special characters that you had to drag in, and that ran out.
It would also be good to have a way to colour specific parts of it different colours.
One option that is missing that I really thing is useful is wincolour=$yellow errorcolour=$red # To provide a coloured version of $?, wrapped in (). Used in PS1 pretty_exit_code(){ LAST_COMMAND_STATUS=$? if [ $LAST_COMMAND_STATUS = 0 ]; then echo -e "$wincolour($LAST_COMMAND_STATUS)$black"; else echo -e "$errorcolour($LAST_COMMAND_STATUS)$black"; fi } Which just provides the exit code of the last command, but coloure…
Interesting. I've been using $PIPESTATUS at the start of my prompt for a while now.
I use this, which allows a similar effect but is enabled for PIPESTATUS, and also does some good things for eterm and screen.
PIPESTATUS_REGEX="^ +$"
# check to see if any of the pipe statuses don't start with 0
# ${_CMD_PIPESTATUS[@]#0} results in null if they all do
_PIPESTATUS="
_CMD_PIPESTATUS=(\${PIPESTATUS[@]})
if [[ \"\${_CMD_PIPESTATUS[*]#0}\" && ! \"\${_CMD_PIPESTATUS[*]#0}\" =~ \$PIPESTATUS_REGEX ]]
then
_RES_STR=\" [\${_CMD_PIPESTATUS[*]}]\";
else
_RES_STR=''
fi"
export PROMPT_COMMAND="$_PIPESTATUS; $PROMPT_COMMAND"
if [[ $TERM = screen || $_TERM = screen ]]; then
_RESET_PROMPT="\[\033k\033\\\\\]"
else
_RESET_PROMPT=""
fi
if [ $TERM = "eterm-color" ]; then
# XXX: this is going to break things when you start
# use $INSIDE_EMACS to test whether we should use \u?
_ETERM_PROMPT="\[\033AnSiTu \u\012\033AnSiTc \w\012\033AnSiTh \H\012\]"
else
_ETERM_PROMPT=""
fi
export PS1="\n$_ETERM_PROMPT\[\033[32m\]\u@\h \[\033[33m\]\w\[\033[35m\]\$_RES_STR\[\033[0m\]\n${_RESET_PROMPT}\\$ "
unset _RESET_PROMPT
Hey everyone, Thanks for checking out the bash profile generator! I'm a student at Flatiron School[1] NYC (where we have electricity in NYC, no small feat today) and this project came about when we were learning to setup our CLIs in the first week. Please let me know if you have any comments/feedback on twitter: @rexfeng [1] http://flatironschool.com/
Fun project! I balked, however, at "deciphering web pages to do simple things like displaying the time". All of the prompt escape codes are on the bash man page. That's not a criticism, mind you[1] - just a pointer at the fact that as you develop as a command-line guru, you'll find much information is right there at your finger tips in man pages. Best of luck in your studies! [1] No, really. I spend all my life on th…
For bash, the info documentation is probably better than man, but as someone who is very familiar with it, I would say it sometimes needs a little deciphering.
Very nice. I sort of with there was an easy way to do fish style prompt paths in bash (/home/username/bin -> /h/u/bin), but that's hardly this excellent website's fault. I guess I'm just annoyed at being tied to bash due to ROS.
Very nice. I sort of with there was an easy way to do fish style prompt paths in bash (/home/username/bin -> /h/u/bin), but that's hardly this excellent website's fault. I guess I'm just annoyed at being tied to bash due to ROS.