aboutsummaryrefslogtreecommitdiffstats
path: root/bash_include
diff options
context:
space:
mode:
authorLAN-TW <lantw44@gmail.com>2012-01-17 22:41:14 +0800
committerLAN-TW <lantw44@gmail.com>2012-01-17 22:41:14 +0800
commitb548a157dc71bc96102592e425f70baa15041354 (patch)
tree1c7542dafa9b75d343509f341393022ada392ecb /bash_include
parentbb207f6593bd9160521d03fce713063da80f64db (diff)
downloadconfigfile-b548a157dc71bc96102592e425f70baa15041354.tar
configfile-b548a157dc71bc96102592e425f70baa15041354.tar.gz
configfile-b548a157dc71bc96102592e425f70baa15041354.tar.bz2
configfile-b548a157dc71bc96102592e425f70baa15041354.tar.lz
configfile-b548a157dc71bc96102592e425f70baa15041354.tar.xz
configfile-b548a157dc71bc96102592e425f70baa15041354.tar.zst
configfile-b548a157dc71bc96102592e425f70baa15041354.zip
bash_include: 彩色說明訊息、更改歷史紀錄、設定視窗標題bash_include-20120118
Diffstat (limited to 'bash_include')
-rw-r--r--bash_include71
1 files changed, 69 insertions, 2 deletions
diff --git a/bash_include b/bash_include
index e3d15f8..58096f3 100644
--- a/bash_include
+++ b/bash_include
@@ -686,14 +686,16 @@ function path_editor_core ()
then
export LD_LIBRARY_PATH="$current_path"
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
+ history -s "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
else
export PATH="$current_path"
echo "PATH=$PATH"
+ history -s "PATH=$PATH"
fi
should_continue=''
;;
*)
- echo " *** Unknown command *** "
+ printf " \e[33m*** Unknown command ***\e[m \n"
;;
esac
done
@@ -730,7 +732,9 @@ function backup_file ()
continue
else
"${prefixlist[@]}" \cp -p "${arglist[$i]}" "$rootfilename.$j"
+ history -s "${prefixlist[@]}" \cp -p "${arglist[$i]}" "$rootfilename.$j"
"${prefixlist[@]}" touch -r "${arglist[$i]}" "$rootfilename.$j"
+ history -s "${prefixlist[@]}" touch -r "${arglist[$i]}" "$rootfilename.$j"
break
fi
done
@@ -741,7 +745,9 @@ function backup_file ()
fi
else
"${prefixlist[@]}" \cp -p "${arglist[$i]}" "$rootfilename"
+ history -s "${prefixlist[@]}" \cp -p "${arglist[$i]}" "$rootfilename"
"${prefixlist[@]}" touch -r "${arglist[$i]}" "$rootfilename"
+ history -s "${prefixlist[@]}" touch -r "${arglist[$i]}" "$rootfilename"
fi
i=$i+1
done
@@ -755,7 +761,7 @@ function keep_sudo_credential ()
then
update_sudo_interval="$1"
else
- update_sudo_interval="60"
+ update_sudo_interval="280"
fi
while true
do
@@ -769,21 +775,72 @@ function get_memory_info ()
if [ "`uname`" = "Linux" ]
then
local meminfoline="`free -m | \grep -i mem`"
+ local swapinfoline="`free -m | \grep -i swap`"
local memtotal="`echo "$meminfoline" | awk '{print $2}'`"
local memused="`echo "$meminfoline" | awk '{print $3}'`"
local membuf="`echo "$meminfoline" | awk '{print $6}'`"
local memcache="`echo "$meminfoline" | awk '{print $7}'`"
local memprog=$(($memused-$membuf-$memcache))
+ local swaptotal="`echo "$swapinfoline" | awk '{print $2}'`"
+ local swapused="`echo "$swapinfoline" | awk '{print $3}'`"
echo "Memory: $memused / $memtotal MB (`printf %2d $(($memused*100/$memtotal))`%)"
echo "Detail:"
echo " Used: `printf %5d $memprog` MB (`printf %2d $(($memprog*100/$memtotal))`%)"
echo " Buffers: `printf %5d $membuf` MB (`printf %2d $(($membuf*100/$memtotal))`%)"
echo " Cached: `printf %5d $memcache` MB (`printf %2d $(($memcache*100/$memtotal))`%)"
+ if [ "$swaptotal" = "0" ]
+ then
+ echo "Swap: not available"
+ else
+ echo "Swap: $swapused / $swaptotal MB (`printf %2d $(($swapused*100/$swaptotal))`%)"
+ fi
else
echo "Current operating system is not Linux."
fi
}
+function set_console_title ()
+{
+ case "$TERM" in
+ screen)
+ printf "\033]0;"
+ echo -n "$*"
+ printf "\033\\"
+ ;;
+ xterm*)
+ printf "\033]0;"
+ echo -n "$*"
+ printf "\007"
+ ;;
+ *)
+ echo "Your terminal may not have the hardstatus line."
+ echo "Note: TERM=$TERM"
+ ;;
+ esac
+}
+
+function mvfile ()
+{
+ while [ "$1" ]
+ do
+ if [ '!' -e "$1" ]
+ then
+ printf "\e[33mWarning\e[m: $1 does not exist.\n"
+ shift
+ continue
+ fi
+ echo "Old name: $1"
+ read -p "New name: " -e -i "$1" new_file_name
+ if [ "$new_file_name" ] && [ "$1" != "$new_file_name" ]
+ then
+ \mv -iv "$1" "$new_file_name"
+ history -s mv -iv "$1" "$new_file_name"
+ fi
+ shift
+ done
+ unset new_file_name
+}
+
# Doing something
umask 0022
@@ -796,6 +853,16 @@ then
prehistory_backup
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'
+ if [ -z "$PROMPT_COMMAND" ]; then
+ case "$TERM" in
+ xterm*)
+ PROMPT_COMMAND='printf "\033]0;%s@%s:%s (%s)\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}" "`date "+%H:%M:%S"`"'
+ ;;
+ screen)
+ PROMPT_COMMAND='printf "\033]0;%s@%s:%s (%s)\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}" "`date "+%H:%M:%S"`"'
+ ;;
+ esac
+ fi
fi
if [ "`uname`" = "Linux" ]