#!/bin/bash while true; do # Current branch cur=`git symbolic-ref HEAD 2> /dev/null | cut -d/ -f3-` # Prompt if test -n "$cur"; then prompt="git ($cur)> " else prompt="git> " fi # Readline read -e -r -p "$prompt" cmd # EOF test $? -ne 0 && break # History history -s "$cmd" # Built-in commands case $cmd in ls) cmd=ls-files;; "") continue;; quit) break;; esac if [[ $cmd == !* ]]; then eval ${cmd:1} elif [[ $cmd == git* ]]; then eval $cmd else eval git "$cmd" fi done echo