首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不运行dhcpd的情况下检查dhcpd.conf的语法错误?

如何在不运行dhcpd的情况下检查dhcpd.conf的语法错误?
EN

Stack Overflow用户
提问于 2012-12-14 12:28:14
回答 2查看 62.4K关注 0票数 23

我需要确保dhcpd.conf上没有语法错误。如果有错误,我想知道它们是什么。

我可以使用以下命令检查语法错误:

代码语言:javascript
复制
dhcpd -cf /path/to/dhcpd.conf

但除了我得到的错误外,它还打印了很多信息。另一件事是,我不想运行dhcpd,即使没有语法错误。我只想检查语法错误,看看它们是什么。

不幸的是,运行dhcpd -tf /path/to/dhcpd.conf也没有解决我的问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-04 16:00:38

您要寻找的语法是

代码语言:javascript
复制
dhcpd -t -cf /path/to/dhcpd.conf

-t选项将执行配置检查:

如果指定了-t标志,服务器将简单地测试配置文件的正确语法,但不会尝试执行任何网络操作。这可以用于在安装新配置文件之前自动测试它。

如果使用默认配置文件路径,则不需要使用-cf

代码语言:javascript
复制
/usr/sbin/dhcpd -t

您在-tf /path/to/...中尝试过的方法非常不同,并且与跟踪有关。

票数 40
EN

Stack Overflow用户

发布于 2018-11-05 13:37:05

手册页上没有提到的一件事是,'/usr/sbin/dhcpd -t‘命令使用返回值来指示配置是否正确。

如果没有错误,它将返回零。如果有语法错误,它将返回非零(对于我所做的测试是1)

这样你就可以使用这样的东西:

代码语言:javascript
复制
/usr/sbin/dhcpd -t
if [ $? -ne 0 ]; then
  echo "Configuration has errors, aborting"
fi
/bin/systemctl restart isc-dhcp-server

在尝试使用新版本重新启动服务器之前,检查对配置所做的更改是否有效。

不幸的是,我认为没有任何选项可以只显示错误。可以使用文本解析工具(awk、python等)删除标题行(对于我拥有的版本,所有内容都以"For info“开头行),以及拖车行(对于我拥有的版本,在一行之后删除”遇到配置文件错误-退出“),这只会留下语法错误和位置错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13878706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档