#!/bin/bash function salt() { if [[ "$1" == "state.apply" ]]; then sudo salt-call --local --file-root "$HOME/salt/states" --pillar-root "$HOME/salt/pillars" "$@" pillar="{username: $USER}" else sudo salt-call --local --file-root "$HOME/salt/states" --pillar-root "$HOME/salt/pillars" "$@" fi } function pw(){ FILE="$1" [[ -z "$PWHOME" ]] && printf "\$PWHOME not set\n" && return [[ -z "$FILE" ]] && FILE="web.gpg" if [[ ! "${FILE: -4}" == ".gpg" ]];then FILE="${FILE}.gpg" fi cd "$PWHOME" vi "$FILE" cd "$OLDPWD" } _pw_completion() { local cur prev suggestions [[ -z "$PWHOME" ]] && return cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" cd "$PWHOME" suggestions="$(ls *.gpg)" cd "$OLDPWD" if [[ "$prev" != "pw" ]];then COMPREPLY=() else COMPREPLY=( $(compgen -W "${suggestions}" -- ${cur}) ) fi } complete -F _pw_completion pw function doh() { local options options=(start stop restart status) if [[ ! " ${options[@]} " =~ " ${1} " ]]; then echo "wrong option, valid: ${options[@]}" return fi if [[ "$1" == "status" ]]; then systemctl status local-doh-proxy else sudo systemctl "$1" local-doh-proxy fi } function copy_k8s_token(){ grep "id-token" ~/.kube/config | awk '{print $2}' | xclip -sel clip } function ip_to_hex(){ IFS=. read oct1 oct2 oct3 oct4 <<< "$1" printf '0x%02x%02x%02x%02x\n' $oct1 $oct2 $oct3 $oct4 } function salt-call(){ sudo salt-call --local "$@" } function ww(){ local selected_wiki selected_wiki="$1" case $1 in SUSE|suse|S|s|2) vim -c "normal 2 ww" ;; Private|private|p|3) vim -c "normal 3 ww" ;; *) vim -c "normal 1 ww" ;; esac } function ssh(){ for arg in "$@" do case "$arg" in -A) read -t 5 -n 1 -s -r -p "Consider to use -o ProxyJump instead! Press 'y' to continue with -A" answer printf "\n" if [[ "${answer,,}" != "y" ]]; then return 1 fi esac done /usr/bin/ssh "$@" }