X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=scripts.git;a=blobdiff_plain;f=bashrc;h=067fdf5fe309a32daa1c57338e3ed617978de612;hp=ef555d6f4205da62e2d22b04f0df03f20dee1ff3;hb=d010af75293885a1787ac459081df82f7bcc977b;hpb=5d2e211f0e3dbd1b497b41f4f0c2524eeb9aed32 diff --git a/bashrc b/bashrc index ef555d6..067fdf5 100644 --- a/bashrc +++ b/bashrc @@ -104,9 +104,9 @@ alias rm='rm -i' alias mv='mv -i' # alias chmod='chmod -v' alias chmod='chmod -c' -alias cp='cp -i' +alias cp='cp -i -v' alias rd=rmdir -alias md='mkdir -v' +alias md='mkdir -pv' alias ps='ps uxaf' alias df='df -hT --sync' alias grep='grep -i -E --color=auto' @@ -140,18 +140,18 @@ alias impressive="impressive -s -D 1000 -t Crossfade -T 100" if [ -e "${HOME}/.dircolors" ]; then eval $(dircolors "${HOME}/.dircolors") - alias ls='ls --group-directories-first --color' - alias lt='ls --color -gohtr --time-style="+%Y %b %d %H:%M"' - alias ll='ls --color -goh --time-style="+%Y %b %d %H:%M"' - alias lll='ls --color -lth' - alias l='ls --color -I "*~" -I "*.o"' + alias ls='ls -p --group-directories-first --color' + alias lt='ls -p --color -gohtr --time-style="+%Y %b %d %H:%M"' + alias ll='ls -p --color -goh --time-style="+%Y %b %d %H:%M"' + alias lll='ls -p --color -lth' + alias l='ls -p --color -I "*~" -I "*.o"' alias less='less -R' else - alias ls='ls --group-directories-first' - alias lt='ls -gohtr --time-style="+%Y %b %d %H:%M"' - alias ll='ls -goh --time-style="+%Y %b %d %H:%M"' - alias lll='ls -lth' - alias l='ls -I "*~" -I "*.o"' + alias ls='ls -p --group-directories-first' + alias lt='ls -p -gohtr --time-style="+%Y %b %d %H:%M"' + alias ll='ls -p -goh --time-style="+%Y %b %d %H:%M"' + alias lll='ls -p -lth' + alias l='ls -p -I "*~" -I "*.o"' fi export EDITOR=emacsclient @@ -180,16 +180,37 @@ function latexdiff () { # corresponding tex file function rl () { - RECENT_LOG=$(find -maxdepth 1 -name "*.log" -type f | head -1) + RECENT_LOG=$(ls -t $(find -maxdepth 1 -name "*.log" -type f) | head -1) + if [[ ${RECENT_LOG} ]]; then - FILE=${RECENT_LOG/.log/} - pdflatex ${FILE} - bibtex ${FILE} - pdflatex ${FILE} - pdflatex ${FILE} - if [[ "$1" == "--xpdf" ]]; then - xpdf ${FILE}.pdf + FILEBASE="${RECENT_LOG/.log/}" + + if [[ -f "${FILEBASE}.tex" ]]; then + + pdflatex "${FILEBASE}" + bibtex "${FILEBASE}" + pdflatex "${FILEBASE}" + pdflatex "${FILEBASE}" + + if [[ "$1" ]]; then + if [[ "$1" == "-v" ]] || [[ "$1" == "--view" ]]; then + xpdf "${FILEBASE}.pdf" + elif [[ "$1" == "-p" ]] || [[ "$1" == "--print" ]]; then + lpr "${FILEBASE}.pdf" + else + echo "Usage: rl [-v|--view] [-p|--print]" >&2 + echo "Unknown option $1" >&2 + return 1 + fi + fi + + else + + echo "Can not find a tex file corresponding to the most recent log (${RECENT_LOG/.log/})." >&2 + return 1 + fi + else echo "Can not find a recent log." >&2 return 1 @@ -279,7 +300,15 @@ function cdt () { return 1 fi else - cd $(mktemp -d /tmp/tmp.XXXXXX) + dir=$(mktemp -d /tmp/tmp.XXXXXX) + link=/tmp/tmp + if [[ -h ${link} ]]; then + \rm ${link} + fi + if [[ ! -a ${link} ]]; then + ln -s ${dir} ${link} + fi + cd ${dir} fi } @@ -287,37 +316,21 @@ alias t='cd /tmp' function trash () { TRASH=$(date +/tmp/trash-%Y-%b-%d-%Hh) + LINK=/tmp/trash - if [[ -d ${TRASH} ]]; then - echo "Re-use ${TRASH}" - else - mkdir ${TRASH} - echo "Created ${TRASH}" - fi + mkdir -p ${TRASH} + + [[ -h ${LINK} ]] && \rm ${LINK} + [[ ! -f ${LINK} ]] && ln -s ${TRASH} ${LINK} mv "$@" ${TRASH} echo "Trashed $@" } -# alias trash=trash.sh - function mmsget () { mplayer "$1" -dumpstream -dumpfile $(basename "$1") } -function quicktex () { - if [[ $1 ]]; then - MAIN=$1 - else - MAIN=$(\ls -t *.tex | head -1 | sed -r -e 's/\.tex//') - fi - pdflatex ${MAIN} - bibtex ${MAIN} - pdflatex ${MAIN} - pdflatex ${MAIN} - xpdf ${MAIN}.pdf -} - ###################################################################### # http://www.reddit.com/r/linux/comments/akt3j/a_functional_programming_style_map_function_for/ @@ -362,18 +375,6 @@ function pho () { \rm ${TEMP} } -# function rotjpeg () { -# if [ "$1" == "90" ] || [ "$1" == "180" ] || [ "$1" == "270" ]; then -# TEMP=$(mktemp /tmp/rotjpeg.XXXXXX) -# echo jpegtran -rotate "$1" -copy all $2 > ${TEMP} -# echo cp $2 ${2/jpg/}original.jpg -# echo cp ${TEMP} $2 -# rm ${TEMP} -# else -# echo "Can not rotate with an angle of "$1" degrees." -# fi -# } - ###################################################################### ## A version of date that shows the time at home if TZ is set @@ -397,6 +398,23 @@ function dt () { [[ ${NETUP_HISTORY} ]] || NETUP_HISTORY="${HOME}/.netup_history" function netup () { + WIFI_INTERFACE=wlan0 + + if [[ $1 == "--scan" ]]; then + if [[ ! $(\ifconfig -s | grep ${WIFI_INTERFACE}) ]]; then + sudo ifconfig ${WIFI_INTERFACE} up + UPPED_WIFI=1 + fi + + sudo iwlist ${WIFI_INTERFACE} scan|grep ESS\|Quali\|Encry + + if [[ ${UPPED_WIFI} ]]; then + sudo ifconfig ${WIFI_INTERFACE} down + fi + + return 0 + fi + if [[ $(\ifconfig -s | grep -v ^"(Iface|lo) ") ]]; then echo "There is already interface(s) up." >&2 return 1 @@ -495,7 +513,7 @@ function lr () { # cd and ls into a directory # [from http://www.oreillynet.com/onlamp/blog/2007/01/whats_in_your_bash_history.html] -# function c () { cd "$@" && lr; } +function c () { cd "$@" && lr; } ###################################################################### # You can change the xterm background color on the fly! @@ -916,17 +934,22 @@ function selector-printer () { # the current directory function lsn () { - LSN_MEMORY=".lsn-mem" - if [[ $1 == "--mem" ]]; then - \ls > ${LSN_MEMORY} + LSN_MEMORY=".lsn-state" + if [[ $1 == "--mem" ]] || [[ "$1" == "-m" ]]; then + \ls -pa | sort > ${LSN_MEMORY} + echo "State updated." >&2 + elif [[ -n "$1" ]]; then + echo "lsn [--mem|-m]" >&2 + return 1 else if [[ -f ${LSN_MEMORY} ]]; then - comm -1 -3 ${LSN_MEMORY} <(\ls) - comm -2 -3 ${LSN_MEMORY} <(\ls) | while read line; do + comm -1 -3 ${LSN_MEMORY} <(\ls -pa | sort) + comm -2 -3 ${LSN_MEMORY} <(\ls -pa | sort) | while read line; do echo "${VT_RED_FG}${VT_BOLD}${line}${VT_RESET} (missing)" done else - echo "No lsn memory here." >&2 + echo "No lsn state here." >&2 + return 1 fi fi }