X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=brc;h=55efac12039265d516bcac23b0ee91b756b2a289;hb=343a048be4b32d18540c6531048d2b9a006774ae;hp=b8eb1201c21155043f505feb03a9350ebc37dcbf;hpb=9d21aed0c95e0c343f2769a724d9dbb220874185;p=distro-setup diff --git a/brc b/brc index b8eb120..55efac1 100644 --- a/brc +++ b/brc @@ -26,9 +26,7 @@ unalias -a shopt -s extglob # include .files when globbing, but ignore files name . and .. # setting this also sets dotglob. -# Note, this doesnt work in bash 4.4 anymore, for paths with -# more than 1 directory, like a/b/.foo, since * is fixed to not match / -export GLOBIGNORE=*/.:*/.. +export GLOBIGNORE="*/.:*/.." # broken with bash_completion package. Saw a bug for this once. dont anymore. # still broken in wheezy @@ -122,7 +120,7 @@ if [[ $- == *i* ]]; then if [[ $KONSOLE_PROFILE_NAME ]]; then TERM=xterm-256color - fi + fi # todo: not sure this works in sakura #stty werase undef @@ -628,6 +626,12 @@ dus() { # du, sorted, default arg of e() { echo "$@"; } +# echo var. print var including escapes, etc +ev() { + printf "%qEOL\n" "${!1}" + printf "%s" "${!1}" |& hexdump -C +} + ediff() { [[ ${#@} == 2 ]] || { echo "error: ediff requires 2 arguments"; return 1; } @@ -646,7 +650,10 @@ envload() { # load environment from a previous: export > file # mail related etail() { - sudo tail -F /var/log/exim4/mainlog -n 50 + tail -F /var/log/exim4/mainlog -n 200 +} +eless() { + less /var/log/exim4/mainlog } f() { @@ -1118,14 +1125,14 @@ ifn() { } - o() { - if type gvfs-open &> /dev/null ; then - gvfs-open "$@" - else - xdg-open "$@" - fi - # another alternative is run-mailcap - } +o() { + if type gvfs-open &> /dev/null ; then + gvfs-open "$@" + else + xdg-open "$@" + fi + # another alternative is run-mailcap +} ipdrop() { s iptables -A INPUT -s $1 -j DROP @@ -1435,7 +1442,10 @@ q() { # start / launch a program in the backround and redir output to null } r() { - exit "$@" 2>/dev/null + history -a # save history + exit "$@" + # i had this redir, not sure why +# exit "$@" 2>/dev/null } rbpipe() { rbt post -o --diff-filename=- "$@"; } @@ -1625,12 +1635,17 @@ sgo() { # service go fi } +sgu() { + systemctl list-unit-files | rg "$@" +} -shellck() { +sk() { # 2086 = unquoted $var # 2046 = unquoted $(cmd) + # 2068: Double quote array expansions to avoid re-splitting elements. # i had -x as an arg, but debian testing(stretch) doesn\'t support it - shellcheck -e 2086,2046,2068,2006,2119 "$@" + shellcheck -x -e 2086,2046,2068 "$@" + # had this before. not sure what it is 2119 } skaraoke() { @@ -1840,7 +1855,7 @@ testsieve() { _dosieve ~/sieve/maintest.sieve ${1:-INBOX} delete } runsieve() { - c ~/sieve; cp personal{test,}.sieve; cp lists{test,}.sieve + c ~/sieve; cp personal{test,}.sieve; cp lists{test,}.sieve; cp personalend{test,}.sieve _dosieve ~/sieve/main.sieve -eW ${1:-INBOX} delete } @@ -1942,7 +1957,6 @@ psnetns() { m() { printf "%s\n" "$*"; "$@"; } - vpncmd() { #m s nsenter -t $(pgrep -f "/usr/sbin/openvpn .* --config /etc/openvpn/.*pia.conf") -n -m "$@" m s nsenter -t $(pgrep -f "/usr/sbin/openvpn .* --config /etc/openvpn/.*client.conf") -n -m "$@" @@ -2081,44 +2095,16 @@ match_lhs="" if ${use_color} && [[ $- == *i* ]]; then - if [[ $XTERM_VERSION == Cygwin* ]]; then - get_term_color() { - for x in "$@"; do - case $x in - underl) echo -n $'\E[4m' ;; - bold) echo -n $'\E[1m' ;; - red) echo -n $'\E[31m' ;; - green) echo -n $'\E[32m' ;; - blue) echo -n $'\E[34m' ;; - cyan) echo -n $'\E[36m' ;; - yellow) echo -n $'\E[33m' ;; - purple) echo -n $'\E[35m' ;; - nocolor) echo -n $'\E(B\E[m' ;; - esac - done - } + term_underl="$(tput smul)" + term_bold="$(tput bold)" + term_red="$(tput setaf 1)" + term_green="$(tput setaf 2)" + term_blue="$(tput setaf 4)" + term_cyan="$(tput setaf 6)" + term_yellow="$(tput setaf 3)" + term_purple="$(tput setaf 5)" + term_nocolor="$(tput sgr0)" # no font attributes - else - get_term_color() { - for x in "$@"; do - case $x in - underl) echo -n $(tput smul) ;; - bold) echo -n $(tput bold) ;; - red) echo -n $(tput setaf 1) ;; - green) echo -n $(tput setaf 2) ;; - blue) echo -n $(tput setaf 4) ;; - cyan) echo -n $(tput setaf 6) ;; - yellow) echo -n $(tput setaf 3) ;; - purple) echo -n $(tput setaf 5) ;; - nocolor) echo -n $(tput sgr0) ;; # no font attributes - esac - done - } - fi -else - get_term_color() { - : - } fi # Try to keep environment pollution down, EPA loves us. unset safe_term match_lhs use_color @@ -2161,47 +2147,39 @@ if [[ $- == *i* ]]; then PS1="\h $PS1" fi + # emacs terminal has problems if this runs slowly, + # so I've thrown a bunch of things at the wall to speed it up. prompt-command() { local return=$? # this MUST COME FIRST local psc pst ps_char ps_color stale_subvol unset IFS history -a # save history - - case $return in - 0) ps_color="$(get_term_color purple)" + 0) ps_color="$term_purple" ps_char='\$' ;; - 1) ps_color="$(get_term_color green)" + 1) ps_color="$term_green" ps_char="$return \\$" ;; - *) ps_color="$(get_term_color yellow)" + *) ps_color="$term_yellow" ps_char="$return \\$" ;; esac if [[ ! -O . ]]; then # not owner if [[ -w . ]]; then # writable - ps_color="$(get_term_color bold red)" + ps_color="$term_bold$term_red" else - ps_color="$(get_term_color bold green)" + ps_color="$term_bold$term_green" fi fi - # I would set nullglob, but bash has had bugs where that - # doesnt work if not in top level. - if [[ -e /nocow/btrfs-stale ]] && ((`command ls -AUq /nocow/btrfs-stale|wc -l`)); then - ps_char="! $ps_char" - fi - if [[ -e /nocow/mailtest-failure ]]; then - ps_char="@#$@#$ $ps_char" - fi - source /a/bin/bash_unpublished/source-state + + # faster than sourceing the file im guessing + eval $(< /dev/shm/iank-status) if [[ ! $SSH_CLIENT && $MAIL_HOST != $HOSTNAME ]]; then ps_char="@ $ps_char" fi - PS1="${PS1%"${PS1#*[wW]}"} \[$ps_color\]$ps_char\[$(get_term_color nocolor)\] " - # emacs completion doesnt like the git prompt atm, so disabling it. - #PS1="${PS1%"${PS1#*[wW]}"}$(__git_ps1 ' (%s)') \[$ps_color\]$ps_char\[$(get_term_color nocolor)\] " + PS1="${PS1%"${PS1#*[wW]}"} \[$ps_color\]$ps_char\[$term_nocolor\] " } PROMPT_COMMAND=prompt-command