I can print my current working dir like this
myPrompt$ pwd
/Users/me/myDir
I want my shell to look like this
/Users/me/myDir$ pwd
/Users/me/myDir
Is that possible? How can I do it?
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.
Sign up to join this communityHere's a one-liner for OSX. It appends the prompt you want into the profile file and then reloads the profile.
echo "PS1='\w\$ '" >> ~/.bash_profile; source ~/.bash_profile
On El Capitan you'll want to use
echo "PS1='\w\$ '" >> ~/.profile; source ~/.profile
For some reason '\w\$'
didn't work for me but instead I did: export PS1="$(pwd) \$"
and it worked.
export
command is run, and doesn’t change when the current directory changes.
Jan 12 at 18:46
/c/Program Files$ cd /c/temp/ /c/temp$ cd /c/Program\ Files /c/Program Files$ cd /c/temp/ /c/temp$ cd /c/Program\ Files Program Files/ Program Files (x86)/ /c/temp$ cd /c/Program\ Files\ \(x86\)/ /c/Program Files (x86)$
PS1="$PS1"'$(pwd)' # current working directory
Looks like an old thread but the steps below worked for me on OS X 10.9.5
PS1='\w\$ '
in ~/.profile
~/.bashrc
remove themFor Python and Conda Users:
Add the following line to ~/.bashrc
and run source ~/.bashrc
after saving it.
The following will show conda environment, username, device name, and base of current working directory.
Additionally, it is colored cyan.
PS1="\e[0;36m ($CONDA_DEFAULT_ENV) \u@\h \W → \e[m "
My Suggestion
Put this in your ~/.bashrc:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\](\D{%H:%M:%S})\[\033[01;34m\]:$PWD\[\033[00m\]\$ '
This will color line, and will also add time on every line (Time can be useful some time)
Simple solution
Open ~/.bash_profile
and add the following content
# \[\e[0m\] resets the color to default color
reset_color='\[\e[0m\]'
# \[\033[33m\] sets the color to yellow
path_color='\[\033[33m\]'
# \e[0;32m\ sets the color to green
git_clean_color='\[\e[0;32m\]'
# \e[0;31m\ sets the color to red
git_dirty_color='\[\e[0;31m\]'
# determines if the git branch you are on is clean or dirty
git_prompt ()
{
# Is this a git directory?
if ! git rev-parse --git-dir > /dev/null 2>&1; then
return 0
fi
# Grab working branch name
git_branch=$(git branch 2>/dev/null| sed -n '/^\*/s/^\* //p')
# Clean or dirty branch
if git diff --quiet 2>/dev/null >&2; then
git_color="${git_clean_color}"
else
git_color="${git_dirty_color}"
fi
echo " [$git_color$git_branch${reset_color}]"
}
export PS1="${path_color}\w\[\e[0m\]$(git_prompt)\n"
This should:
1) Prompt the path you're in, in color: path_color.
2) Tell you which branch are you.
3) Color the name of the branch based on the status of the branch with git_clean_color
for a clean work directory and git_dirty_color for a dirty one.
4) The brackets should stay in the default color you established in your computer.
5) Puts the prompt in the next line for readability.
You can customize the colors with this list
Sophisticated Solution
Another option is to use Git Bash Prompt, install with this. I used the option via Homebrew on Mac OS X.
git_prompt_list_themes
to see the themes but I didn't like any of them.
git_prompt_color_samples
to see available colors.
git_prompt_make_custom_theme [<Name of base theme>]
to create a new custom theme, this should create a .git-prompt-colors.sh file.
subl ~/.git-prompt-colors.sh
to open git-prompt-colors.sh and customize:
The .git-prompt-colors.sh file should look like this with my customization
override_git_prompt_colors() {
GIT_PROMPT_THEME_NAME="Custom"
# Clean or dirty branch
if git diff --quiet 2>/dev/null >&2; then
GIT_PROMPT_BRANCH="${Green}"
else
GIT_PROMPT_BRANCH="${Red}"
fi
}
reload_git_prompt_colors "Custom"
This answer is based on my SO answer which you can see here. Hope this helps, have a great day!
~/.bash_profile
,~/.bash_login
, and~/.profile
, in that order, and reads and executes commands from the first one that exists and is readable. In any case, this is really a comment and not an answer so I am converting it to one.PS1='\$ '