Bash - Get Name of Parent Directory

  • Posted on: 2 March 2016
  • By: davis

For the path /foo/bar/, if the current directory is bar, and we want to get the name of the parent directory (i.e. foo)

path="$( cd "$( dirname $0 )" && cd -P "$( dirname "$SOURCE" )" && pwd )"
parentName=$(basename -- "$(dirname -- "$path")")
echo $parentName # will return parent directory's name

This resolves symbolic links (sidestepping the error where it returns "." for the parent dir). Give it a try.

Alternative to Cron for NearlyFreeSpeech Users

  • Posted on: 16 February 2016
  • By: davis

I use the server host NearlyFreeSpeech for all of my personal website-related things nowadays. They are extremely cheap, and their community-driven support is great.

Unfortunately, they don't have crontab enabled. Here's a workaround for enabling cron-like functionality on a NearlyFreeSpeech hosting instance.

In my case, I needed to curl multiple public-facing URL's in order to refresh some vital information. I wanted to do that on a schedule.