このスクリプトを使用してSSHを介してホスト名を変更していますが、いくつかのエラーが発生します。
read -p "Insira o IP : " ip
read -p "Insira o nome do utilizador : " host
read -s -p "Insira a palavra passe : " oldpass
sshpass -p $oldpass ssh $host@$ip "cat /etc/hostname > hostname.txt"\
run="sshpass -p $oldpass ssh $host@$ip" \
hostn=$($run "cat hostname.txt") \
echo $hostn
sshpass -p $oldpass ssh $host@$ip " \
echo "Enter new hostname: " \
read newhost \
sed -i "s/$hostn/$newhost/g" /etc/hosts \
sed -i "s/$hostn/$newhost/g" /etc/hostname \
echo "Your new hostname is "$newhost"" \
read -s -n 1 -p "Press any key to reboot" \
reboot"
新しいホスト名を作成すると、次のように表示されます。
unable to resolve host"=
。
ただし、スクリプトは引き続き機能し、再起動されます。
答え1
RHEL7/CentOs7 システムの場合は、/etc/hostname ファイルの名前を変更する代わりに、次のコマンドを使用してホスト名を変更します。
hostnamectl はホスト名 $newhost を設定します。