Saturday, May 5, 2012

Bash Shell Temporarily Disable an Alias

I've couple of shell aliases defined in ~/.bashrc file. How do I temporarily remove (disable) a shell alias and call the core command directly without using unalias command?

An alias command enables a replacement of a word with another string. It is mainly used for abbreviating a system command, or for adding default arguments to a regularly used command.

Display currently defined aliases

Type the following command:
$ alias
Sample output:
alias cp='cp -i'
alias dnstop='dnstop -l 5 eth1'
alias grep='grep --color'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias update='yum update'
alias updatey='yum -y update'
alias vi='vim'
alias vnstat='vnstat -i eth1'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias vnstat='vnstat -i eth1'

Creating an alias

Create an alias called c for the commonly used clear command, which clear the screen:
$ alias c='clear'
Then, to clear the screen, instead of typing clear, the user would only have to type the letter c and press the [ENTER] key:
$ c

How do I disabled alias temporarily?

An alias can be disabled temporarily and the core command get called directly. Just prefix command with a backslash. Create an alias called vnstat:
$ alias vnstat='vnstat -i eth1'
$ vnstat

Sample output:
Database updated: Fri Mar 13 15:30:01 2009
eth1
received: 158.48 GB (20.9%)
transmitted: 599.82 GB (79.1%)
total: 758.30 GB
rx | tx | total
-----------------------+------------+-----------
yesterday 2.83 GB | 10.90 GB | 13.73 GB
today 1.92 GB | 7.31 GB | 9.23 GB
-----------------------+------------+-----------
estimated 2.97 GB | 11.28 GB | 14.25 GB
Now disabled vnstat alias temporarily, enter:
$ \vnstat
Sample output:
                     rx      /     tx      /    total    /  estimated
eth1:
yesterday 2.83 GB / 10.90 GB / 13.73 GB
today 1.92 GB / 7.31 GB / 9.23 GB / 14.24 GB
eth0:
yesterday 655.05 MB / 2.02 GB / 2.66 GB
today 438.01 MB / 1.43 GB / 1.86 GB / 2.86 GB

No comments:

Post a Comment