我使用curl
使用HTTP get请求从服务器中提取主机名,这样可以正常工作。我需要我的脚本来修改/etc/sysconfig/network
文件,所以我不必重新启动系统来应用主机名。
到目前为止,这是我的代码:
#!/usr/local/bin/perl
use strict;
use warnings;
use Sys::Hostname;
my $curl = `curl http://100.10.10.10/hostname`; # Get correct hostname
my $host = hostname;
if ($curl ne $host) {
# Need to modify the /etc/sysconfig/network file to replace hostname or add it.
}
编辑: 我的实际问题:使用新主机名修改该文件的最佳方法是什么?
答案 0 :(得分:1)
我想你想要的是
my $host = qx{hostname};
而不是
my $host = hostname;
另外,为什么不手动进行更改(例如,打开/ etc / hosts或您要编辑的任何文件,并进行编辑,只需确保$>
为0 ...脚本正在运行用户root。)