아래의 예는 흥미로운 프롬프트라기 보다는 "proof of concept" 입니다:동적으로 프롬프트 안의 색깔을 바꾸는 것입니다. 이 예에서는, 시스템의 부하에 따라서, 호스트 이름의 색깔을 바꾸게 됩니다(경고 로서).
#!/bin/bash # "hostloadcolour" - 17 October 98, by Giles # # The idea here is to change the colour of the host name in the prompt, # depending on a threshold load value. # THRESHOLD_LOAD is the value of the one minute load (multiplied # by one hundred) at which you want # the prompt to change from COLOUR_LOW to COLOUR_HIGH THRESHOLD_LOAD=200 COLOUR_LOW='1;34' # light blue COLOUR_HIGH='1;31' # light red function prompt_command { ONE=$(uptime | sed -e "s/.*load average: \(.*\...\), \(.*\...\), \(.*\...\)/\1/" -e "s/ //g") # Apparently, "scale" in bc doesn't apply to multiplication, but does # apply to division. ONEHUNDRED=$(echo -e "scale=0 \n $ONE/0.01 \nquit \n" | bc) if [ $ONEHUNDRED -gt $THRESHOLD_LOAD ] then HOST_COLOUR=$COLOUR_HIGH # Light Red else HOST_COLOUR=$COLOUR_LOW # Light Blue fi } function hostloadcolour { PROMPT_COMMAND=prompt_command PS1="[$(date +%H%M)][\u@\[\033[\$(echo -n \$HOST_COLOUR)m\]\h\[\033[0;37m\]:\w]$ " }
여러분이 선호하시는 편집기를 이용해서, 이 파일을 "hostloadcolour"라는 이름으로 저장하십시오. 만약, 배쉬프롬프트 패키지를 이미 설치하셨다면, 이 파일은 테마의 하나로서 작동할 것입니다. 배쉬프롬프트를 설치하지 않았다면, 'source hostloadcolour'라고 치고나서, 'hostloadcolour'를 입력하십시오. 어느 쪽이든지, "prompt_command"는 여러분들의 환경에서 함수들 중 하나가 됩니다. 위 코드를 잘 살펴 보시면, 색깔들($COLOUR_HIGH 와 $COLOUR_LOW)이 부분적인 색상 코드(즉, "\[\033[1;34m\]" 대신에 "1;34")로 만 설정되어 있다는 것을 아시게 될 것입니다. 이 방법을 저는 더 선호합니다. 저는 완성된 코드로 작동하게 할 수가 없었는데, 이 문제를 다룰 수 있으면 저에게 일러 주십시오.