이 스크립트를 사용하여 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를 설정합니다.