What is an alias?
An alias is a bash command that runs one, or many other commands. An alias can also be created as a function and passed parameters.
How to add a new alias:
To create a new alias we want to add it in the correct bash startup file. In some instances (like the Ubuntu 16.04 LTS I am currently running) the default ~/.bashrc file already points us in the right place, it includes a ~/.bash_aliases file if one is present. This is a convenient way to seperate our aliases from the already full ~/.bashrc.
The alias:
Open the ~/.bash_aliases file with your editor of choice
--in terminal
$ nano ~/.bash_aliases
Create a new alias:
--in file ~/.bash_aliases
alias sftw='cd Software';
Close and re-open your terminal window or load the aliases with:
--in terminal
$ . ~/.bash_aliases
Now run the alias from the command line to see it in action:
--in terminal
$ sftw
You can also chain commands as you can in a normal terminal command by adding two ampersands (&&) in-between them:
--in file ~/.bash_aliases
alias startWeb1='cd Software/website1 && npm start'
If ~/.bash_aliases doesn't load
If your ~/.bashrc file does not contain a reference to the ~/.bash_aliases file you can add the reference like so:
--in terminal
$ nano ~/.bashrc
And add the following lines to the end:
--in file ~/.bashrc
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
Creating more complex aliases with functions
A function can take arguments and make multiple calls, for example:
--in file ~/.bash_aliases
--in file ~/.bash_aliases
gtst () {
clear git branch git status } gtbr () { from=${2:-master} if ! `git checkout $1 &> /dev/null`; then `git checkout ${FROM}` `git checkout -b $1` fi }
In the second function above we set a default value of "master" for variable 2 if no value exists. No alias entry is necessary, the function will be available.
Getting even fancier:
Let's wrap all these into a neat command called 'gt':
gt () { local argument2=$2 local argument3=$3 st () { clear git branch git status } br () { from=${argument3:-master} checkout=`git checkout ${argument2} 2>&1` if [ $? -eq 0 ]; then echo "${checkout}" else echo "`git checkout ${from}`" `git checkout -b ${argument2}` fi } case "$1" in br) br;; st) st;; esac }
Now we can call our new gt command from the command line as follows:
$ gt st $ gt br existing-branch $ gt br new-branch $ gt br new-branch from-branch
No comments:
Post a Comment