[[ ${TERM} == "dumb" ]] || [ ! -t 0 ] && return
+# Remove the annoying beeps in console
+
+setterm -blength 0
+
######################################################################
## The interactive part
# This prevents ^S from freezing the shell
-stty -ixon
+# stty -ixon
ulimit -c unlimited
alias md='mkdir -v'
alias ps='ps uxaf'
alias df='df -hT --sync'
-alias grep='grep -E --mmap --color=auto'
+alias grep='grep -i -E --mmap --color=auto'
alias find='ionice -c3 find'
+alias pd=pushd
+alias val='valgrind --leak-check=full --show-reachable=yes --db-attach=yes '
alias s='screen -d -R -U && clear'
case "$1" in
- *.tgz|*.tar.gz)
- tar zxvf "$1"
+ *.tgz|*.tar.gz|*.tbz|*.tar.bz2)
+ tar xvf "$1"
;;
*.rar)
## variables
function pho () {
- PHO_BIN=/usr/bin/pho
+ PHO_BIN=$(which pho)
TEMP=$(mktemp /tmp/pho.XXXXXXX)
${PHO_BIN} "$@" | tee ${TEMP}
PHO_NOTE_1=$(grep ^"Note 1: " ${TEMP} | sed -e "s/^[^:]*: //")
[[ ${NETUP_HISTORY} ]] || NETUP_HISTORY="${HOME}/.netup_history"
function netup () {
+ if [[ $(\ifconfig -s | grep -v ^"(Iface|lo) ") ]]; then
+ echo "There is already interface(s) up." >&2
+ return 1
+ fi
+
+ if [[ $(\ps -C dhclient | tail -n +2) ]]; then
+ echo "There is already a dhcp client running." >&2
+ return 1
+ fi
+
+ if [[ $(\ps -C wpa_supplicant | tail -n +2) ]]; then
+ echo "There is already a wpa_supplicant running." >&2
+ return 1
+ fi
+
if [[ ! "$@" ]] && [[ -s ${NETUP_HISTORY} ]]; then
- # If we have no argument and there is a .netup_history, use it
- ARGS=$(cat ${NETUP_HISTORY})
+ echo "netup <interface>" >&2
+ return 1
+ # # If we have no argument and there is a .netup_history, use it
+ # ARGS=$(cat ${NETUP_HISTORY})
else
# Otherwise uses the given arguments, and store them
ARGS="$@"
echo ${ARGS} > ${NETUP_HISTORY}
fi
- echo "${VT_GREEN_FG}Running [sudo ifup ${ARGS}]${VT_RESET}"
+ if [[ -n "${PRIVATE_INTERFACE_DEFINITION}" ]]; then
+ ARGS="-i ${PRIVATE_INTERFACE_DEFINITION} ${ARGS}"
+ fi
+
+ echo "Executing ${VT_GREEN_FG}[sudo ifup ${ARGS}]${VT_RESET}"
sudo ifup ${ARGS}
# Ugly hack to remove the dsl modem dns server when we add
REMOVE_LOCAL_DNS=/usr/local/bin/remove-local-dns.sh
if [[ -x ${REMOVE_LOCAL_DNS} ]]; then
- echo "${VT_GREEN_FG}Running [sudo ${REMOVE_LOCAL_DNS} 192.168]${VT_RESET}"
+ echo "Executing ${VT_GREEN_FG}[sudo ${REMOVE_LOCAL_DNS} 192.168]${VT_RESET}"
sudo ${REMOVE_LOCAL_DNS} 192.168
fi
}
# Otherwise, use the standard ifdown
ARGS="$@"
fi
- echo "${VT_GREEN_FG}Running sudo [ifdown ${ARGS}]${VT_RESET}"
+
+ if [[ -n "${PRIVATE_INTERFACE_DEFINITION}" ]]; then
+ ARGS="-i ${PRIVATE_INTERFACE_DEFINITION} ${ARGS}"
+ fi
+
+ echo "Executing sudo ${VT_GREEN_FG}[ifdown ${ARGS}]${VT_RESET}"
sudo ifdown ${ARGS}
}
alias finddup='finddup -p'
######################################################################
-# Selector based history
-#
# The selector command is available on my web site
#
# git clone http://fleuret.org/git/selector/
-function selector-history () {
- selector --bash -u -c 7,4,0,3 -q <(history)
-}
-
-# M-r puts the selected history line in place of the current one
-
-bind '"\C-[r":"\C-a\C-kselector-history\C-m"'
-
-# M-t appends the selected history line and the end of the current one
-
-bind '"\C-[t":"\C-a\C-kselector-history\C-m\C-a\C-y\C-e"'
-
-######################################################################
-# Maintain a list of visited directories and provide a selector-based
-# command to go back to any of them.
-
-export SELECTOR_CD_HISTORY
-
-[[ "${SELECTOR_CD_HISTORY}" ]] || \
- SELECTOR_CD_HISTORY=${HOME}/.selector-cd-history
-
-function selector-cd-search () {
- PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX)
- selector -t "cd" -l 10000 -d -i -o ${PATH_TEMP} -q ${SELECTOR_CD_HISTORY}
- cd "$(cat ${PATH_TEMP} | sed -e 's!~!'${HOME}'!')"
- \rm ${PATH_TEMP}
-}
-
-function selector-cd () {
- if [[ -z "$1" ]]; then
- cd
- else
- cd "$1"
- fi
- echo $PWD | sed -e "s!${HOME}!~!" >> ${SELECTOR_CD_HISTORY}
-}
-
-alias cd=selector-cd
-
-# M-c provides a dynamic list of directories to cd into
-
-bind '"\C-[c":"\C-a\C-kselector-cd-search\C-m"'
+source bash-selector.sh --hist --cd
######################################################################
# And we avoid to put in the history the use of the selector, which we
# save the history after every command to avoid loosing some when
# multiple shells are open
history -a
+# load the saved history
+ history -n
# and the local histories system defined above
keep_local_history
# and the history cue