Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.93 KB | None | 0 0
  1. update_prompt ()
  2. {
  3.     lastFail=$?
  4.    
  5.     cd -P "$(pwd -P)"  #seriously, I hate the symbolic link path trickery
  6.    
  7.     bar="$B=$NONE"
  8.    
  9.     if (($UID == 0))
  10.     then
  11.         startPS1="${EMR}$USER"
  12.     else
  13.         startPS1="${EMM}$USER"
  14.     fi
  15.    
  16.     tmp="${G}\$ ${NONE}"
  17.    
  18.     if ((lastFail == 0))
  19.     then    
  20.         endPS1="${G}(${lastFail})${tmp}"
  21.     elif ((lastFail == 127))
  22.     then
  23.         endPS1="${R}(${lastFail})${tmp}"
  24.     elif ((lastFail == 130))
  25.     then
  26.         endPS1="${Y}(${lastFail})${tmp}"
  27.     else
  28.         endPS1="${EMY}(${lastFail})${tmp}"
  29.     fi
  30.    
  31.  
  32.     files=$(ls | wc -l | sed 's/[\t\n\v ]//g')
  33.     mem=$(free -m | grep '^Mem:')
  34.    
  35.    
  36.     memTotal=$(awk '{ print $2 }' <<< $mem)
  37.     memUsed=$( awk '{ print $3 }' <<< $mem)
  38.    
  39.     diskRaw=$(df)
  40.    
  41.     for mountPoint in $(echo "$diskRaw" | tail -n +2 | awk '{print $6}' | tac)
  42.     do
  43.         if (grep "$mountPoint" <<< "$PWD")
  44.         then
  45.             mPoint="$mountPoint"
  46.             break
  47.         fi
  48.     done >/dev/null
  49.    
  50.     mPoint="${mountPoint:-/}"
  51.        
  52.    
  53.    
  54.     disk=$(df -B 1048576 "${mPoint}" | head -n 2 | tail -n 1)
  55.     diskTotal="$(awk '{ print $2 }' <<< $disk)"
  56.     diskUsed="$( awk '{ print $3 }' <<< $disk)"
  57.    
  58.     if ((diskTotal > 1024*10))
  59.     then
  60.         disk=$(df -B 1073741824 "${mPoint}" | head -n 2 | tail -n 1)
  61.         diskTotal="$(awk '{ print $2 }' <<< $disk)G"
  62.         diskUsed="$( awk '{ print $3 }' <<< $disk)G"
  63.     else
  64.         diskTotal="$(awk '{ print $2 }' <<< $disk)M"
  65.         diskUsed="$( awk '{ print $3 }' <<< $disk)M"
  66.     fi
  67.    
  68.     PS1="\n\
  69. $B/-$NONE(${startPS1}${EMM}@\h${NONE})\
  70. ${bar}(${EMC}\t${NONE})\
  71. ${bar}(${EMG}${diskUsed}/${diskTotal}${NONE})\
  72. ${bar}(${EMM}${memUsed}M/${memTotal}M${NONE})\
  73. ${bar}(${EMR}\j ${Y}\! ${EMY}\#${NONE})\n\
  74. $B:-$NONE(${EMR}${files} ${EMY}\w${NONE})
  75. $B\-${endPS1}"
  76.    
  77. }
  78.  
  79.  
  80. export PROMPT_COMMAND="update_prompt"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement