X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.shellrc;h=e47cda2abd976cfa13f98fccf3705c1146a585c8;hb=f2763b86760c3b58c1665b0476730aa4db80d858;hp=38c547e2c67b7c009be3083f807fb48ba4ff80ff;hpb=0096540c056a5624f1c57c9e081504ae2d83dc5e;p=dotfiles.git diff --git a/.shellrc b/.shellrc index 38c547e..e47cda2 100644 --- a/.shellrc +++ b/.shellrc @@ -6,6 +6,17 @@ OPS1="$OPS1\\$" PS1="$OPS1 " +case "$HOME" in + /home/*) + if [ -L /home ]; then + START_DIR="`pwd`" && + cd "$HOME" && + HOME="`pwd`" && + cd "$START_DIR" + fi + ;; +esac + case "$SHELL" in */bash) [ "`type -t ls`" = alias ] && unalias ls @@ -47,7 +58,7 @@ case "$SHELL" in for cmd in builtin cgmem_nice command dbus-launch exec \ killall man nice nohup pidof pidOf KillAll pgrep pkill psg pswg su sudo \ time whence whereis which xargs; do - ! has_completion $cmd && complete -A command -o default $cmd + ! has_completion $cmd && complete -o default -A command $cmd done for cmd in dig host nslookup nc netcat nmap p ping ping6 socat \ @@ -59,7 +70,7 @@ case "$SHELL" in for cmd in distribute ftp lftp r rsync \ s scp ssh smbclient tcpdump tshark wireshark; do - ! has_completion $cmd && complete -A hostname -o default $cmd; + ! has_completion $cmd && complete -o default -A hostname $cmd; done complete -A job bg fg j jobs wait @@ -126,6 +137,19 @@ include() } +function mkcd { + if [ $# -ne 1 ]; then + echo "Usage: mkcd directory_name" >&2 + elif [ -d "$1" ]; then + cd "$1" + elif [ -e "$1" ]; then + echo "Error: $1 is a file" >&2 + else + mkdir -p "$1" && cd "$1" + fi +} + + mc() { if [ -n "$SLOWTERM" ]; then MC_SLOW="--slow" @@ -196,15 +220,11 @@ mc() { tmux() { case "$TERM" in rxvt) - TMUX_SAVE_TERM="$TERM" - TERM=rxvt-unicode + TERM=rxvt-unicode command tmux "$@" ;; - esac - - command tmux "$@" - rc=$? - [ -n "$TMUX_SAVE_TERM" ] && TERM="$TMUX_SAVE_TERM" - unset TMUX_SAVE_TERM - return $rc + *) + command tmux "$@" + ;; + esac }