답변1
printf
형식화된 출력을 지원하는 명령문의 분기에서 이를 사용했습니다 . "찾음" 및 "찾을 수 없음" 조건에 대한 진리값을 포함한다고 가정하면 다음과 같습니다.true
if
$CS
printf "$color%-50s%s$RESET\n" "$url" "$status"
여기서 $color
는 원하는 색상의 ANSI 코드이고, $RESET
는 ANSI 코드이며 \e[0m
, 은 $url
각각 $status
URL 문자열과 [Found] 또는 [Not Found] 상태 문자열입니다 .
다음은 완전한 예입니다. 참고 저는 이것을 shebang에서 사용하고 있지만 sh
이것은 bash 구문과도 완벽하게 호환됩니다.
#!/bin/sh
BLUE="^[[0;34m"
RED="^[[0;31m"
RESET="^[[0m"
CS=0
for url in http://example.com/foo http://example.com/longer_address ; do
if [ $CS -eq 0 ]; then
color=$BLUE
status='[Found]'
else
color=$RED
status='[Not Found]'
fi
printf "$color%-50s%s$RESET\n" "$url" "$status"
CS=1 # Change truth condition for next test
done