X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.shellrc;h=0549c17a705e5ea004ccb4a3acd4e7fcff99d821;hb=0c99131807db3cfbd340fdfe9e9c3737c971b5cc;hp=aef34517a6a4f9b6bba036f0479f3a5a5fe47f01;hpb=a176b6b17c8e7fafdaa627f5fa5024be7f18f67e;p=dotfiles.git diff --git a/.shellrc b/.shellrc index aef3451..0549c17 100644 --- a/.shellrc +++ b/.shellrc @@ -57,17 +57,6 @@ case "$HOME" in ;; esac - -# Remove trainling \$s -OPS1="`echo $OPS1 | sed 's/[ \\$]\+$//'`" -# Add a trainling space -OPS1="$OPS1 " -# Re-add trainling \$ -for ((i=0; i<$SHLVL; i++)); do OPS1="$OPS1\\$"; done - -PS1="$OPS1 " - - if test -n "$BASH_VERSION"; then [ "`type -t ls`" = alias ] && unalias ls [ "`type -t ll`" = alias ] && unalias ll @@ -79,47 +68,43 @@ if test -n "$BASH_VERSION"; then has_completion() { return 0; } if [ -z "$BASH_COMPLETION_COMPAT_DIR" ]; then - if [ "$SHELL" = /bin/bash ]; then - if [ -d /usr/share/bash-completion -a -f /usr/share/bash-completion/bash_completion ]; then - . /usr/share/bash-completion/bash_completion - has_completion() { [ -r /usr/share/bash-completion/completions/$1 ]; } - elif [ -f /etc/bash_completion ]; then - . /etc/bash_completion - has_completion() { [ -r /etc/bash_completion.d/$1 ]; } - elif [ -d /etc/bash_completion.d ]; then - for _compf in /etc/bash_completion.d/*; do - . $_compf - done - has_completion() { [ -r /etc/bash_completion.d/$1 ]; } - fi - elif [ "$SHELL" = /usr/local/bin/bash ]; then - if [ -d /usr/local/etc/bash_completion.d ]; then - for _compf in /usr/local/etc/bash_completion.d/*; do - . $_compf - done - has_completion() { [ -r /usr/local/etc/bash_completion.d/$1 ]; } - fi + if [ -d /usr/share/bash-completion -a -r /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + has_completion() { [ -r /usr/share/bash-completion/completions/$1 -o -n "complete -p $1 2>/dev/null" ]; } + elif [ -r /etc/bash_completion ]; then + . /etc/bash_completion + has_completion() { [ -r /etc/bash_completion.d/$1 -o -n "complete -p $1 2>/dev/null" ]; } + elif [ -d /etc/bash_completion.d ]; then + for _compf in /etc/bash_completion.d/*; do + . $_compf + done + has_completion() { [ -r /etc/bash_completion.d/$1 -o -n "complete -p $1 2>/dev/null" ]; } + elif [ -d /usr/local/etc/bash_completion.d ]; then + for _compf in /usr/local/etc/bash_completion.d/*; do + . $_compf + done + has_completion() { [ -r /usr/local/etc/bash_completion.d/$1 -o -n "complete -p $1 2>/dev/null" ]; } else echo "Unknown OS type, cannot source bash_completion" >&2 fi fi 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 -o default -A command $cmd + killall man nice nohup pidof pidOf KillAll pgrep pkill psg pswg \ + run-all-hosts su sudo time whence whereis which xargs; do + ! has_completion $cmd && complete -o default -A command $cmd done for cmd in dig host mtr nslookup nc netcat nmap p ping ping6 socat \ - telnet t tt \ - tcptraceroute tcptraceroute6 tracert tracert6 traceroute traceroute6 \ - whois wd wget wget-download wget-m wget-wrapper ww; do - ! has_completion $cmd && complete -A hostname $cmd + telnet t tt \ + tcptraceroute tcptraceroute6 tracert tracert6 traceroute traceroute6 \ + whois wd wget wget-download wget-m wget-wrapper ww; do + ! has_completion $cmd && complete -A hostname $cmd done for cmd in distribute ftp lftp r rsync \ - s scp ssh smbclient tcpdump tshark wireshark; do - ! has_completion $cmd && complete -o default -A hostname $cmd + s scp ssh smbclient tcpdump tshark wireshark; do + ! has_completion $cmd && complete -o default -A hostname $cmd done if [ -d "$HOME"/.bash_completion.d ]; then @@ -160,6 +145,11 @@ if test -n "$BASH_VERSION"; then fi complete -W "`echo $BROWSER | sed 's/:/ /g'`" start-browser + if [ "`type -t short_curdir`" != function -a \ + -r "$HOME"/admin/prog/bash_prompt ]; then + . "$HOME"/admin/prog/bash_prompt + fi + #if type -p pip >/dev/null 2>&1; then # eval "`pip completion --bash`" # rm -rf /tmp/pip_build_"$USER" @@ -186,6 +176,7 @@ elif test -n "$KSH_VERSION" -o -n "$FCEDIT"; then j() { jobs; } fi +PS1="$OPS1" # clear screen and history, logout chlo() { clear; cd; >$HISTFILE; unset HISTFILE; history -c; logout || exit; } @@ -344,7 +335,12 @@ include() { mc() { if test -n "$BASH_VERSION"; then MC_SAVE_OPS1="$OPS1" - OPS1="\u@\h \W " + if [ "`type -t short_curdir`" = function ]; then + OPS1="\`cgmem_which_prompt\`\u@\${HOSTNAME::5}:\`short_curdir\` " + OPS1+="\$(prompt_git)\\$\$SHLVL " + else + OPS1="\u@\h:\W \\$" + fi fi if [ -n "$SLOWTERM" ]; then