My Bash Profile
This is Steve Francia’s fork of Mat Schaffer’s profile.
- Reactive prompt – includes date and exit code of last command and git branch.
- Tab completion for Git and Subversion
- Tab completion for Rake, Maven 2 and Ant
- Tab completion for ssh hosts on OS X.
- Git aliases
- ‘safeedit’ function that makes a timestamped backup copy of a file before editing
- Basic java set up on solaris and Darwin
- Maven memory settings
- ‘profile_push’ function for pushing these files out to other servers
- ‘link_dotfiles’ command that will create symlinks for all the files listed in the dotfiles directory
- Auto setup of .foward file on Linux and Solaris
- Integration with CDArgs
- Bundling a bin directory so that autojump, etc work out of the box.
- Tab completion for git flow
- Extract (xt: extract all common compressions)
- A better du (duf: du ordered by size)
- Common bash aliases
- Separate aliases for Linux and OS X
What’s it look like?
# Go home cd ~ # Clone mine or your own fork git clone git://github.com/spf13/profile.git .profile.d # All *.conf files are loaded alphabetically, so this will retain your original settings mv .profile .profile.d/z_myoldsettings.conf # .profile.d/init kicks off the whole thing ln -s .profile.d/init .profile # Make sure you don't have any .bash_profile or .bashrc hanging out which might override .profile # and reload your profile source .profile
Once installed you can now put any
~/.profile.d and it’ll get loaded in alphabetical order. You can also put conf files in
~/.profile.d/`uname` to get platform-specific configuration or
~/.profile.d/$USER to get user-specific configuration. The load order (defined in the
init file) is:
To install AutoJump
AutoJump comes ready to use out of the box. If you wish to update it follow the following steps
1. Goto http://github.com/joelthelion/autojump
2. Download autojump.
3. Extract/Create in the following locations.
- autojump to /usr/bin
- autojump.sh to /etc/profile.d # already done for you ;)
- autojump.1 to /usr/share/man/man1
To install CDargs
Profile contains support for cdargs, but requires the binary to be installed. It may already be on your system, but here are some basic directions if you need to install it.
1. Goto http://www.skamphausen.de/cgi-bin/ska/CDargs
2. Download the latest tarball and Extract
3. Run the following
then become root and do:
# make install-strip
- Tab completion for ssh hosts in Solaris/Ubuntu
- Single-command for SSH key distribution and profile distribution