Advertisement
Guest User

top for bash

a guest
Jan 23rd, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.75 KB | None | 0 0
  1. # Colorize
  2. DARKGRAY='\033[1;30m'
  3. RED='\033[0;31m'
  4. LIGHTRED='\033[1;31m'
  5. GREEN='\033[0;32m'
  6. YELLOW='\033[1;33m'
  7. BLUE='\033[0;34m'
  8. PURPLE='\033[0;35m'
  9. LIGHTPURPLE='\033[1;35m'
  10. CYAN='\033[0;36m'
  11. WHITE='\033[1;37m'
  12. SET='\033[0m'
  13. BOLD='\033[1m'
  14. UNDERLINE='\033[4m'
  15.  
  16. gb() {
  17.   repo=$(git config --get remote.origin.url 2>/dev/null | awk -F':' '{print $2}' | awk -F'/' '{print $(NF-1)"@"$NF}' | tr -d '\n')
  18.   branch=$(git branch 2>/dev/null | grep '^*' | colrm 1 2 | tr -d '\n')
  19.  
  20.   if [ "${branch}" = "master" ]; then
  21.     branch="${RED}${BOLD}${branch}${SET}"
  22.   elif [ -z ${branch} ]; then
  23.     branch=""
  24.   else
  25.     branch="${GREEN}${BOLD}${branch}${SET}"
  26.   fi
  27.  
  28.   if [ -z ${repo} ]; then
  29.     repo=""
  30.   else
  31.     repo="${UNDERLINE}${repo}${SET}"
  32.   fi
  33.  
  34.   echo -en " (" && echo -en ${repo} && echo -n " - " && echo -en ${branch} && echo -en ")"
  35. }
  36.  
  37. git_branch() {
  38.         gb | sed "s/ ()//" | sed "s/ ( - )//"
  39. }
  40.  
  41. PS1='\[\033[1;32m\]\W\[\033[0;39m\]\[\033[0m\]$(git_branch) $ '
  42.  
  43. # SSH
  44. alias ssh-init='eval `ssh-agent`; ssh-add ~/.ssh/id_rsa; ssh-add -l'
  45.  
  46. function _completeSSHHosts {
  47.  
  48.         COMPREPLY=()
  49.         local currentWord=${COMP_WORDS[COMP_CWORD]}
  50.  
  51.         local completeHosts=$(
  52.                 cat "$HOME/.ssh/config" | \
  53.                 grep --extended-regexp --regexp "^Host +[^* ]+? *$" | \
  54.                 tr -s " " | cut -d " " -f 2;
  55.                 cat ~/.ssh/known_hosts | \
  56.                 awk -F"," "{print \$1}" | \
  57.                 awk "{print \$1}" | \
  58.                 #sed -E "s/\[([a-zA-Z\.]{3,100})\]:([0-9{2,5}])/\1:\2/"
  59.                 sed -E "s/\[([a-zA-Z\.]{3,100})\].*/\1/"
  60.         )
  61.  
  62.         COMPREPLY=($(compgen -W "$completeHosts" -- "$currentWord"))
  63.         return 0
  64. }
  65.  
  66. complete -F _completeSSHHosts ssh
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement