diff --git a/.bash_aliases b/.bash_aliases index 6a325bd..2a16f24 100644 --- a/.bash_aliases +++ b/.bash_aliases @@ -15,13 +15,25 @@ alias qa="tmux split-window -v" # Preview contents of a file or list the contents of a directory l () { - if [ -f "$1" ] ; then - less $1 + # Set target to argument or default to current working directory + local target="${1:-$(pwd)}" + + if [ -f $target ] ; then + less $target return fi + # List current directory contents and bail out if target does not exist + if [ ! -d $target ]; then + l $(dirname $target) + echo "" + echo -e "\e[0;91mNo such file or directory '$target'\e[0m" + + return 1 + fi + # Current directory is the user home directory - if [ "$(pwd)" == "$HOME" ]; then + if [ $target == "$HOME" ]; then # Ignore these files when running the "l" command from the home directory local BLACKLIST=("Makefile") @@ -36,27 +48,51 @@ l () { return 0 fi - ls -lh $1 || l $(dirname "$1") + ls -lh $target } # Preview the contents of a file or list the contents of a directory with hidden files shown ll () { - if [ -f "$1" ] ; then - less $1 + # Set target to argument or default to current working directory + local target="${1:-$(pwd)}" + + if [ -f $target ] ; then + less $target return fi - ls -lah $1 || ll $(dirname "$1") + # List current directory contents and bail out if target does not exist + if [ ! -d $target ]; then + ll $(dirname $target) + echo "" + echo -e "\e[0;91mNo such file or directory '$target'\e[0m" + + return 1 + fi + + ls -lah $target } # Edit the contents of a file or list the contents of a directory (with hidden files shown) if that file is not found lll () { - if [ -f "$1" ] ; then - nano $1 + # Set target to argument or default to current working directory + local target="${1:-$(pwd)}" + + if [ -f $target ] ; then + nano $target return fi - ls -lah $1 || lll $(dirname "$1") + # List current directory contents and bail out if target does not exist + if [ ! -d $target ]; then + lll $(dirname $target) + echo "" + echo -e "\e[0;91mNo such file or directory '$target'\e[0m" + + return 1 + fi + + ls -lah $target } .. () {