diffredential has asked for the wisdom of the Perl Monks concerning the following question:
So I can 'go tmp', 'go home' in the shell and I will go. OK. So say I want to add a new route, I have to append a new statment on the switch case, say:function go { case $1 in (tmp) cd $HOME/tmp;; (home) cd $HOME/home;; esac }
With requires editing the .bashrc file. I would love to do instead(on the shell):function go { case $1 in (tmp) cd $HOME/tmp;; (home) cd $HOME/home;; (fd) cd $HOME/foodir;; esac }
so the .bashrc file is edited the way I would do it (shown above). Then my approach is, of course, editing the file:go --add fd $HOME/foodir
And here comes the extreme power of perl regex. I've been trying to solve the correct regex that would append a new entry on the switch case, but had no luck. If only you monks could help me getting this job done :)function go { if [ $1 = "--add" ];then perl -pi -ne 's/UNKNOWN/($2) cd $3;;/' ~/.bashrc fi case $1 in (tmp) cd $HOME/tmp;; (home) cd $HOME/home;; esac }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Appending in a switch case statement
by ikegami (Patriarch) on Dec 20, 2008 at 20:43 UTC | |
|
Re: Appending in a switch case statement
by ikegami (Patriarch) on Dec 20, 2008 at 21:02 UTC | |
|
Re: Appending in a switch case statement
by zwon (Abbot) on Dec 20, 2008 at 21:53 UTC | |
|
Re: Appending in a switch case statement
by diffredential (Beadle) on Dec 20, 2008 at 22:06 UTC | |
|
Re: Appending in a switch case statement
by rir (Vicar) on Dec 22, 2008 at 20:05 UTC | |
|
Re: Appending in a switch case statement
by gube (Parson) on Dec 25, 2008 at 16:34 UTC |