0

curlHTTP 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.
}

編集: 私の実際の質問: 新しいホスト名でそのファイルを変更するための最良の方法は何ですか?

4

1 に答える 1

1

私はあなたが欲しいと思います

my $host = qx{hostname};

それ以外の

my $host = hostname;

また、変更を手動で行ってはいけません (つまり、/etc/hosts または編集したいファイルを開いて編集し、$>is 0... スクリプトがユーザー root として実行されていることを確認してください)。

于 2012-09-20T17:25:21.053 に答える