A few scripts and aliases

I don’t use many aliases, although I know they are quite popular with some people. In general I have only two or three, which I use mostly because they’re coupled with some scripts that open or trigger a program in a particular way.

For example, I’m on an elinks kick these days. It’s fast, it’s fun and it works marvellously alongside screen and dvtm.

But I don’t like browsers that don’t clean up after themselves. I don’t like all-or-nothing cookie management, or goto lists or search histories. And so, for an alias, I use this:

alias elinks='$HOME/.scripts/elinks.sh'

That triggers an executable script in a hidden folder, and this it what's in it:

/usr/bin/elinks $1
rm $HOME/.elinks/gotohist $HOME/.elinks/searchhist 2>/dev/null
cp $HOME/.elinks/cookies.edit $HOME/.elinks/cookies

The first line tags it as a bash script. The next line triggers elinks and passes any address to it that I might have wanted as a start page.

When it's done, the search history and the goto history are removed, with whatever feedback shuffled off to /dev/null (because those commands show an error message if the file doesn't exist and can't be deleted).

After that, a pristine cookie file is copied into place. The idea there is that there are some cookies that I care to keep -- forum sign-ins or blog sign-ins -- and those are in the cookies.edit file.

That way, when I'm done, the cookies I accrued through the course of my surfing are eradicated with a clean list, ready when I start elinks again. The only downside is that with two browsers open, if one of them exits, the cookies for both are reset. Just so you know. ...

Here's another example. I set the volume manually on my machine, usually at start time, with the amixer commands. But I have two aliases -- usually called 'volmute' and 'volreset' -- that trigger two more scripts. Here's 'mute.sh'.

amixer sset PCM mute
amixer sset Master mute

And of course, 'volumes.sh'.

amixer sset PCM 50% unmute
amixer sset Master 90% unmute

With those two I can manage the general volume on moc or another audio source (like MPlayer) without hunting down the application in use. I type one word and the system falls mute (good for when the phone rings), and type another to reset it to a comfortable level.

I have a few others, but they're not stellar, or they follow the examples of one I already explained, like a script that cleans up after emelfm2 and restores some settings. I'll never be accused of being a master scripter, but little things like this are occasionally useful. :mrgreen:

About these ads

3 thoughts on “A few scripts and aliases

  1. IceBrain

    I use a “mute” alias too, but it toggles the mute setting, so a second call restores the volume to the same level it was.

    I use a “mkcd” too, which calls mkdir $1 && cd $1, so I can make a directory and change to it directly.

    But my most elaborate alias (which is not exactly an alias, it’s a ZSH function) is “tube”, which runs a python script that searches for the given keywords in youtube and returns the video URL, which is then passed to mplayer running in a hidden screen session :P

  2. Tom Adams

    I use mkdir/cd too. Very handy.

    I also have an alias to run an HTTP server which serves . as the document root.

    alias srv=”ruby -rwebrick -e ‘s=WEBrick::HTTPServer.new(:Port=>8080,\

    I’m very happy about WEBrick being included in Ruby. Means it works everywhere. Great for ad-hoc file sharing between machines and/or people on the same network (handy for streaming, letting housemates download files).

  3. karthik

    I don’t know if you use elinks to open multiple URLs in tabs. (I do.) In any case, it’s a simple fix to generalize the elinks script a bit:

    /usr/bin/elinks $*


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s