bash脚本通过两个参数获得SSL的状态



我有一个bash脚本" domain-ssl-status.sh"。我需要一个带有两个参数的脚本,以便我可以通过以下方式运行脚本:

./domain-ssl-status.sh cname.domain.com状态|未关注|获得|错误

domainname和状态是我的两个参数

domainname = $ 1和状态= $ 2

我尝试使用案例语句创建一个status_map,但没有运气!我也看到了其他提示,但我的似乎从来没有用。我的sql语句包括select * select * from domainssl,其中domainname ='cname.domain.com',我仍然卡住了。

重写 -

的粗糙通行证
#!/bin/bash 
domainName=$1 
status=$2 
echo "Verifying domain"
case status in
$status) ping -c 1 $domainName || {
           echo "Cannot ping $domainName" >&2
           exit 1
         } ;;
*) echo "Invalid argument '$status'" >&2
   exit 1 ;;
esac
sql="SELECT * FROM DomainSSL WHERE domainName='$domainName'" 
mssql -f csv -c ~/applications/mssql/mssql.json -q "$sql" # mark here
rc=$?
if (( rc )) # nonzero
then echo "FAIL: rc $rc on [$sql]" >&2
else echo "SUCCESS: $sql" 
fi 

您可能还想尝试保存Stdout和stderr以进行以后的解析。从上面的# mark重写

mssql -f csv -c ~/applications/mssql/mssql.json -q "$sql" >ok 2>oops
rc=$?
if (( rc )) # nonzero
then echo -e "FAIL: rc $rc on [$sql]:n$(<oops)" >&2
     case "$(grep SQLSTATE oops)" in
     *ER_DUP_KEY*) : code to handle duplicate keys error ;;
     # any other errors you choose to handle . . .
     *) : code for bailing on errors you don't care to handle ;;
     esac
else echo "SUCCESS: $sql" 
fi 

c.f。MySQL文档

这只是一个通用模板。希望能帮助到你。随时要求澄清。

相关内容

最新更新