检查变量是否包含一组TLD中的域名

rma*_*aan 4 bash shell

我有一个变量名称,其中包含DNS记录的名称.我想检查某些条件,例如它是否以.com或结束.es.

现在我正在使用

name="test.com"

namecheck=`echo $name | grep -w  "^[A-Za-z]*..com"`
Run Code Online (Sandbox Code Playgroud)

但它只检查com并忽略.也可以检查它与存储在数组中的一系列值一样

domain=[ ".es" ".com" ".de"]
Run Code Online (Sandbox Code Playgroud)

Sto*_*ica 6

纯粹的bash实施:

name=test.com
domains=(es com de)
for dom in ${domains[@]}; do
    [[ $name == *.$dom ]] && echo $name && break
done
Run Code Online (Sandbox Code Playgroud)