#!/bin/sh usage() { echo "usage: $0 " exit 1 } filename="$1" [ -z "${filename}" ] && usage lineno="$2" [ -z "${lineno}" ] && usage line=$(git blame -L "${lineno}","${lineno}" "${filename}") sha=$(echo $line | awk '{print $1}') if [[ "${sha}" == "00000000" ]]; then echo "${line}" else git show "${sha}" fi