如何抑制systemctl的输出?
我试过了
systemctl --quiet
Run Code Online (Sandbox Code Playgroud)
systemctl -q
Run Code Online (Sandbox Code Playgroud)
乃至
systemctl 2>&1 1>/dev/null
Run Code Online (Sandbox Code Playgroud)
当所述服务已被禁用时,当测试服务被禁用时,这些似乎都不起作用?
systemctl -q is-disabled dhcpcd
Run Code Online (Sandbox Code Playgroud) 我需要一个正则表达式来捕获 DHCP 主机注册记录
我需要通过dhcpd.conf文件解析所有主机保留,如果可能的话,将其捕获到文件或 Bash 数组中。因此,如果主机预留定义如下,
host Service-Ethernet {
hardware ethernet 11:11:11:11:11:11;
fixed-address 192.168.0.3;
option host-name "service";
}
host Service-Wifi {
hardware ethernet 22:22:22:22:22:22;
fixed-address 192.168.0.4;
}
host Test {
hardware ethernet 33:33:33:33:33:33;
fixed-address 192.168.0.5
option host-name "test";
}
Run Code Online (Sandbox Code Playgroud)
输出到文件或 Bash 数组...
11:11:11:11:11:11, 192.168.0.3, service
22:22:22:22:22:22. 192.168.0.4,
, 192.168.0.5, test
Run Code Online (Sandbox Code Playgroud)
如果缺少三个参数之一,请将其留空。
即使表达式必须逐行应用,这仍然是可以接受的。当然,我可以通过 Bash 脚本来包装表达式,该脚本逐行读取配置文件。
如何确定 bash 脚本不是在远程终端会话中运行在“控制台”上?我认为有什么方法可以确定脚本是否在 /dev/console 上运行?或者我在咆哮错误的(二叉)树?