粗糙的傳球在重寫 -
#!/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
您也可能想嘗試保存輸出和錯誤供以後分析。 從上方# 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文檔here
這只是一個通用模板。希望能幫助到你。隨意要求澄清。
讓我們看看你的腳本結構的一個例子。 –
編輯帖子,以便格式化它。 ;!) –
#/斌/慶典 則domainName = $ 1 狀態= $ 16 而[[$#-gt 0]];在 狀態下執行 「$ 1」的情況) mssql -f csv -c〜/ applications/mssql/mssql.json -q「SELECT * FROM DomainSSL WHERE domainName ='$ 1'」 ;; *) 回聲 「無效參數:$ 1」 出口1個 ESAC 轉變 做 回聲 「SELECT * FROM域名型其中DomainName = '$ 1' '$ 2'」 – jphil1971