Chinaunix

标题: 求修改hostname [打印本页]

作者: T_study    时间: 2013-01-09 12:11
标题: 求修改hostname
redhat机器,想通过sshpass进去修改hostname。正确的hostname和ip对应在文件file中,file:
aaaa.vm   10.32.25.26

求一脚本,通过sshpass进去之后,修改hostname为文本file中的right name
作者: jiaogeshahaone    时间: 2013-01-09 12:25
echo "aaaa.vm   10.32.25.26" >> file
作者: Shell_HAT    时间: 2013-01-09 12:34
  1. str=`awk '{print $1}' urfile`
  2. hostname $str
复制代码

作者: reyleon    时间: 2013-01-09 13:21
  1. eval $(awk '{print "name="$1,"ip="$2}' file) ; ssh $ip "hostname $name ; sed -i 's/^HOSTNAME.*/HOSTNAME=$name/' /etc/sysconfig/network"
复制代码

作者: T_study    时间: 2013-01-09 13:21
回复 3# Shell_HAT

这个命令我懂得,我写的命令是在for循环中sshpass
for a in `cat  iplist`
do
sshpass “passwd” ssh $a "wget ***:file
str=`grep $a file|awk '{print $1}'`
echo $str
exit;"
done

我想要的是可以给str赋值new hostname。我写的代码中间的符号使用貌似有问题,但是找不到什么问题了?


求解
thx
作者: T_study    时间: 2013-01-09 13:35
回复 4# reyleon

正解,file文件有多行,求代码


   
作者: T_study    时间: 2013-01-09 13:55
回复 4# reyleon

大神  file中有多行,怎么让指针指向一行一行?



   
作者: reyleon    时间: 2013-01-09 14:26
回复 7# T_study
  1. #!/bin/bash

  2. exec 6<file
  3. while read -u6 line
  4. do
  5.         eval $(echo "$line"|awk '{print "name="$1,"ip="$2}')
  6.         ssh -o StrictHostKeyChecking=no $ip "hostname $name ; sed -i 's/^HOSTNAME.*/HOSTNAME=$name/' /etc/sysconfig/network"
  7. done
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2