答え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