免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1144 | 回复: 9
打印 上一主题 下一主题

帮个忙看看这个脚本哪儿错了! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-01 14:38 |只看该作者 |倒序浏览
ipdev.list
============
10.75.1.31      TianJing
10.25.100.10    ChenDu
kkkk.kkk        WuHan

ctl.sh
===============
#! /usr/bin/sh
PATH=$PATH:/fnsw/bin:/fnsw/etc:/fnsw/lib/perf:/fnsw/support:/usr/bin:/usr/local/bin:/etc:.
export PATH

NLSPATH=/fnsw/lib/nls/msg/%L/%N:/fnsw/lib/nls/msg/%N
export NLSPATH

DDATE=`date +%Y%m%d%p`
IPDEV=ipdev.list
rval=0


IPADD="`cat $IPDEV |awk '{print $1}'`"


function readip
{
    typeset -i n=1

    for i in ${IPADD[@]}
    do
        if [ "${i}" = "" ]
        then
                ((n= n + 1))
        fi
        SS="`cat $IPDEV|awk '/'$n'/ { print $2 }'`"
        print "\serverlist = ${i},\t $SS"

        if [ $? != 0 ]
        then
                echo "failu!"
        fi

        (( n = n + 1 ))
    done
    echo "===================="
    echo "C  $i, $n"
}

readip




希望运功行程序后得到下面的结果
serverlist=10.75.1.31      TianJing
serverlist=10.25.100.10    ChenDu
serverlist=kkkk.kkk        WuHan


多谢

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-12-01 15:22 |只看该作者

帮个忙看看这个脚本哪儿错了!

嗯?

下面如何:
sed 's/^.*$/serverlist=&/' ipdev.list

or even simpler:
sed 's/^/serverlist=/' ipdev.list

论坛徽章:
0
3 [报告]
发表于 2003-12-01 15:28 |只看该作者

帮个忙看看这个脚本哪儿错了!

这个样子的话,跟直接用cat ipdev.list有什么差别呢?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-12-01 15:36 |只看该作者

帮个忙看看这个脚本哪儿错了!

嗯... 就是差在每一行前面都多了 serverlist= 這 11 個子符...

若不是你要的,那可忽略我的建議...  ^_^

论坛徽章:
0
5 [报告]
发表于 2003-12-01 15:53 |只看该作者

帮个忙看看这个脚本哪儿错了!

ipdev.list  文件定义了ip地址跟主机名字

我希望程序读到第n行的时候,把第n行的ip地址作为一个变量的值,第n行主机名字作为另一个变量的值;;也就是说希望把第n行的主机地址和主机名字分别读到同的变量里面去。

请问这个脚本应该怎么写,多谢!!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2003-12-01 16:00 |只看该作者

帮个忙看看这个脚本哪儿错了!

try:
  1. while read a b; do
  2.     echo "$a $b"
  3. done < ipdev.list
复制代码


若... 還不是你要的,那再討論...  ^_^

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2003-12-01 16:04 |只看该作者

帮个忙看看这个脚本哪儿错了!

嗯.... 重讀了你的 post 好幾遍,還是不太明白你要甚麼?  (sorry 我笨)... >_<

或許,請你說說如下兩段文字之間的處理目的在哪?

10.75.1.31 TianJing
10.25.100.10 ChenDu
kkkk.kkk WuHan

serverlist=10.75.1.31 TianJing
serverlist=10.25.100.10 ChenDu
serverlist=kkkk.kkk WuHan

论坛徽章:
0
8 [报告]
发表于 2003-12-01 16:32 |只看该作者

帮个忙看看这个脚本哪儿错了!

读入ip地址后,我会用另一个程序直接控制相应的主机,如果失败,我只显示失败ip所对应的主机名字!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2003-12-01 16:40 |只看该作者

帮个忙看看这个脚本哪儿错了!

[quote]原帖由 "horseman"]读入ip地址后,我会用另一个程序直接控制相应的主机,如果失败,我只显示失败ip所对应的主机名字![/quote 发表:

完整的 code 我不知道,但你可參考上面我給你的 while loop 作修改:
1) 用程序控制 $a
2) 若失敗,送出 $b
3) 若不想再繼續,可用 exit 跳離,否則逐行處理完畢。

like:

  1. while read a b; do
  2.     your_program $a || {
  3.         echo "$b failure"
  4.         exit 1  # remark this line if you don't want to exit
  5.     }
  6. done < serverlist
复制代码

论坛徽章:
0
10 [报告]
发表于 2003-12-01 21:30 |只看该作者

帮个忙看看这个脚本哪儿错了!

俺觉得版主应该超适合当老师
讲的又详细,又有耐心,还有一定的引导性
真的不是PMP的说 @_@
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP