Shell Configs: Difference between revisions

From Leo's Notes
This page was last edited on 29 March 2015, at 06:27.
No edit summary
mNo edit summary
Line 71: Line 71:


[[Category:Linux]]
[[Category:Linux]]
[[Category:Todo]]
{{Navbox Linux}}

Revision as of 06:27, 29 March 2015

Below is my bash rc profile. You may copy my entire profile (wish vim and ssh keychain config) by running:

 wget -O - http://leo.home.steamr.com/public/bash/update.sh | sh && exec bash

The line above will run my update script and reload bash. You may want to look at the script/archive that it downloads before running it though.

Leo's .bashrc

 # .bashrc
 
 #
 # Solaris? Bail out using /bin/sh and skip all the
 # bash fancinesses which applies mostly to linux.
 #
 if [ "`uname`" = "SunOS" ] ; then
     exec sh
 fi
 
 #
 # The 'free' command doesn't exist in FreeBSD. Will
 # run sysctl and show memory information instead.
 #
 if [ "`uname`" = "FreeBSD" ] ; then
     alias free="sysctl hw.physmem"
 fi
 
 #
 # Alias vi to vim only if vim exists
 #
 command -v vim >/dev/null 2>&1
 if [ $? -eq 0 ] ; then
     alias vi=vim
 fi
 
 #
 # Aliases to ls and grep with nice options as default
 #
 alias ls="ls --color -F -h"
 alias grep="grep --color=always --line-buffered"

Details

ls

The command:

ls --color=always -F -h

Flags:

--color[=auto]

Ensures that the output is colorized only to stdout. We do not want colors to go through pipes. The 'auto' value is implied as it is the default option.

-F

Prints a forward slash on directories.

-h

Prints sizes in human readable form

grep

The command:

grep --color=always --line-buffered

Flags:

--color=always

Ensures output is colored even if not going to stdout. Makes it nice when piping to more or less.

--line-buffered

As I usually deal with lines of texts, this makes piping multiple greps together work properly.