Tag: bash

A bash script to check domain expirations

I have a bad habit, and that’s of buying domain names. I have about 20, with several different registrars. If I was smart, I would consolidate them under one registrar, but, even then, checking expirations on the domains is a pain. I usually have autorenew turned on, but I still like to know when they are getting close to expiration.… Read more →

Fixing my .taskpaper reset alias for bash

There was a little problem with my alias to reset a .taskpaper list by removing all of the @dones. It didn’t remove any spaces before the @done, so each line would gain a space every day. This fixes it: alias rst="sed -i '' 's/ *@done\(.*\)//g'" Now it removes one or more spaces that could be before @done. Read more →

Using a Here Document with bash and MySQL

This past week I worked on a bash script to create some input files from a MySQL database. My problem was trying to use multiple line MySQL statements, which was messing everything up. The solution was to use bash’s Here Documents. It’s a way to direct lines into a command. For me, the command looked like this: mysql DBNAME <<EOF… Read more →

Resetting a daily taskpaper list

I have a couple daily taskpaper lists that by the end of the have an @done on each line and I need to reset it for the next day. Instead of trying to do a search and replace everyday, I added a bash alias to .bash_profile (or .bashrc): alias rst="sed -i '' 's/@done\(.*\)//g'" The extra ” after the -i is… Read more →

Saving bash shell history for multiple shells

The history from the commands typed into bash are very useful from time to time, especially when I think “Oh, I’ll remember that command next time I need it”, and then I don’t. The problem with bash’s history are twofold: It only saves history when the terminal exits cleanly, so if your connection drops or you have to kill the… Read more →

Resetting a .taskpaper file

I use a couple of .taskpaper files for checklists of things that need to be done every day. In it, after a task is completed the task gets an @done tag added. But the next day I want to start fresh. I could do a find/replace, but sed at the command line works better: alias rst="sed -i 's/@done\(.*\)//'" Adding the… Read more →