[英]How can I check dhcpd.conf against syntax error without running dhcpd?
我需要確保dhcpd.conf上沒有語法錯誤。 如果有錯誤,我想得到它們是什么。
我可以使用此命令檢查語法錯誤:
dhcpd -cf /path/to/dhcpd.conf
但除了我得到的錯誤之外,還會打印很多信息。 另一件事是我不想運行dhcpd,即使沒有語法錯誤。 我只想檢查語法錯誤並查看它們是什么。
不幸的是,運行dhcpd -tf /path/to/dhcpd.conf
也無法解決我的問題。
您正在尋找的語法是
dhcpd -t -cf /path/to/dhcpd.conf
-t
選項將執行配置檢查:
如果指定了-t標志,則服務器將僅測試配置文件的語法是否正確,但不會嘗試執行任何網絡操作。 這可用於在安裝之前自動測試新配置文件。
如果使用默認配置文件路徑,則不需要使用-cf
。
/usr/sbin/dhcpd -t
您嘗試使用-tf /path/to/...
那個是非常不同的,並且與跟蹤有關。
手冊頁上沒有涉及的一件事是,“/ usr / sbin / dhcpd -t”命令使用返回值來指示配置是否正確。
如果沒有錯誤,它將返回零。 如果有語法錯誤,它將返回非零(我做的測試為1)
所以你可以使用類似的東西:
/usr/sbin/dhcpd -t
if [ $? -ne 0 ]; then
echo "Configuration has errors, aborting"
fi
/bin/systemctl restart isc-dhcp-server
在嘗試使用新版本重新啟動服務器之前,檢查對配置所做的更改是否有效。
不幸的是,我認為沒有任何選擇只顯示錯誤。 可以使用文本解析工具(awk,python等)刪除標題行(對於我的版本,一切都以“For info”開頭的行)和預告片行(對於我有的版本) ,一行后面的一行說“遇到配置文件錯誤 - 退出”,這只會留下語法錯誤和位置
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.