LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Making bash shortcuts, like ~ for Home (https://www.linuxquestions.org/questions/linux-newbie-8/making-bash-shortcuts-like-%7E-for-home-269781/)

Gag Halfrunt 12-23-2004 10:51 PM

Making bash shortcuts, like ~ for Home
 
~ in bash is a shortcut for /home. How can I make others?

For example, I have a text file called phone.txt. Instead of things like "/mnt/hda2/txt/phone.txt", can I just type "ph"? (I know it's an odd question, but I want to have it so I can just enter "grep ph Melissa" and have it print "Melissa - 1234 5678".)

wapcaplet 12-23-2004 11:00 PM

The tilde shorthand notation is built-in to bash, so you can't really create equivalents to that, but you can use aliases, like this:

alias ph="/mnt/hda2/txt/phone.txt"

This only works for executable files, as far as I know. For normal files, though, you might just create a symbolic link to the file you want to use, like this:

ln -s /mnt/hda2/txt/phone.txt ~/ph

That'll create a file called 'ph' in your home directory that links directly to /mnt/hda2/txt/phone.txt. Then you can do things like 'grep Melissa ~/ph'.

akudewan 12-24-2004 12:00 AM

You can make simple shellscripts to do the task for you. I am not skilled in making shellscripts, but I have a few shellscripts that I use as "shortcuts".

C0NIk 12-24-2004 03:26 PM

or you can make a shortcut by adding /etc/bashrc

vi /etc/bashrs -- > then add

alias not useful if your system not up all the time cause when you reboot you have to add all your shortcuts again

thanks

rhettmaxwell 12-24-2004 03:53 PM

you can create an environment variable for this.

from the shell you can type the following
export ph=/mnt/hda2/txt/phone.txt

now your grep command will look something like this:

grep $ph Melissa

you could also create an alias for the above grep command

alias phone='grep -i $ph'

then, if you wanted to lookup melissa's phone number you could do the following

phone melissa

-rhett

C0NIk 12-24-2004 04:28 PM

nice answer :)


All times are GMT -5. The time now is 07:09 PM.