私は以下を使用する小さなBashスクリプトを書いた。spfquery
自分のドメインの電子メールSPFレコードを確認するには(すべてのプロバイダのIPアドレスを通過する場合):
#!/bin/bash
# RED="\033[1;31m"
GREEN="\033[1;32m"
NOCOLOR="\033[0m"
email="[my email address]" # deleted for bots not to hound me
declare -a ips=("88.86.120.212" "88.86.120.223" "88.86.120.250" "88.86.120.213" "88.86.120.103" "46.234.104.23" "46.234.104.24")
echo -e "\n\n"
for ip in "${ips[@]}"
do
echo -e "${GREEN}$ip${NOCOLOR}"
spfquery -sender $email -ip $ip -helo kolbaba.stable.cz
echo -e "\n\n"
done
RED
コメントが付いていますので参考にしてください。その理由は、生成されたメッセージが次のいずれかで始まりたいからです。
fail
softfail
neutral
unknown
error
none
つまり、次のような場合ではありません。
pass
赤色に着色されています。
しかし、これをどうするかは私にとって謎ですか?
ベストアンサー1
zsh
代わりに使用してくださいbash
:
#! /bin/zsh -
email="[email protected]"
ips=(88.86.120.{212,223,250,213,103} 46.234.104.{23,24})
print '\n\n'
for ip ($ips) {
spfquery -sender $email -ip $ip -helo kolbaba.stable.cz &&
color=green || color=red
print -P "%F{$color}$ip%f\n"
}
print -P
開いている急速な拡張パラメータ%F{color}
設定展望色を指定して%f
リセットしてください。
変数の内容(および)にもヒント拡張が適用され($color
文字を含めることができる場合はそれを念頭に置いてください(オプションが有効な場合はそれ以上)$ip
)、エスケープシーケンス拡張は適用されません(複数のAtなど)。%
promptsubst
-r
\n
色にアクセスする他の方法zsh
:
自動ローディング
colors
機能:autoload colors; colors echo $fg[green]text$reset_color
パラメータ拡張フラグは、
%
変数の内容をすばやく拡張できます。var='%F{green}' reset=%f echo ${(%)var}text${(%)reset}
また見なさい:
echo ${(%):-%F{green}}text${(%):-%f}
またはより良い
printf '%s\n' "${(%):-%F{green}}$text${(%):-%f}"
保証されたコンテンツをそのまま出力します
$text
。この
zsh/curses
モジュールは、端末で擬似グラフィックアプリケーションを作成するために使用されます。