# vim: ft=sh: alias ls='ls --color=auto' eval $(dircolors -b) alias ll='ls -lh' alias df='df -h' alias du='du -h' alias grep='grep --color=auto' alias ip='ip -c' alias git='LANG=en_GB git' alias gdb='gdb -q' alias cgdb='cgdb -q' alias octave='octave-cli -q' alias ssh='TERM="xterm-256color" ssh' alias gst='git status' alias v='vim' alias watch='watch -n 1 -c -t -d' export LESS=-R export LESS_TERMCAP_mb=$'\E[1;31m' export LESS_TERMCAP_md=$'\E[1;36m' export LESS_TERMCAP_me=$'\E[0m' export LESS_TERMCAP_se=$'\E[0m' export LESS_TERMCAP_so=$'\E[01;44;33m' export LESS_TERMCAP_ue=$'\E[0m' export LESS_TERMCAP_us=$'\E[1;32m' [ -x /usr/bin/src-hilite-lesspipe.sh ] && export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" # Systemd aliases if we are running systemd if pidof systemd >/dev/null 2>/dev/null; then alias sctl='sudo systemctl' alias usctl='systemctl --user' alias jrn='journalctl' alias ujrn='jrn --user' fi # Run process in background tobg() { "$@" >/dev/null 2>&1 & } # Generate random password (optionally takes length of password as first argument) genpasswd() { local l=$1 [ -n "$l" ] || l=16 tr -dc A-Za-z0-9_ < /dev/urandom | head -c "$l" | xargs } # Automatic branch merger (merge branch, push it to server and remove branch) # Expects name of the branch as argument gitbmerge() { ( set -e local WT="$(git worktree list | sed -nE "/\[$1\]/{s/([^ ]+) .*/\1/p}")" if [ -n "$WT" ]; then rm -r "$WT" git worktree prune fi git merge --ff-only "$1" && git push && git branch -d "$1" && git push origin :"$1" ) } # Create new branch from HEAD gitbnew() { git branch "$1" HEAD local NW="$(git rev-parse --show-toplevel)-$1" git worktree add "$NW" $1 cd "$NW" git submodule update --init --recursive } # Run given command every second dorepeat() { while true; do "$@" sleep 1 echo done } # Clear all ssh control masters ssh-clear() { rm -rf ~/.cache/ssh mkdir -p ~/.cache/ssh } # Chroot to bash to given path chroot-bash() { sudo chroot "$1" /bin/bash }