atfa 发表于 2005-5-9 09:58:00

急寻脚本案例




怎样用脚本编写菜单模式的操作?

具体要求AIX机器上,有ksh,csh,bsh,就是没有bash,没有dialog

需要写成菜单模式的,可以和用户交互,让用户输入数据(不是从命令行输入)

急!

我也知道不该放在这里……但是急啊,等下午或者明天我就把这个帖子mv到shell版面去

这里说的菜单模式就是对话框那样的样子,如果没有,那么任何形式可以和用户方便的交互都可以啦




下面是一个程序的输出



TIME                  TRAHIS   HISBAL
------------------- ---------- ----------
2005-05-09.09:24:51       2074      870



如何把2074和870提取出来保存到TRAHIS和HISBAL两个变量里面呢?

myong 发表于 2005-5-9 10:12:03

:shock: 错字错到你这样的程度,佩服佩服

你问的我不会,不好意思!

atfa 发表于 2005-5-9 10:28:49

下面是一个程序的输出



TIME                  TRAHIS   HISBAL
------------------- ---------- ----------
2005-05-09.09:24:51       2074      870



如何把2074和870提取出来保存到TRAHIS和HISBAL两个变量里面呢?

kde2000 发表于 2005-5-9 10:36:42

awk can do the work,but I am not good at awk


TIME                  TRAHIS   HISBAL
------------------- ---------- ----------
2005-05-09.09:24:51       2074      870



如何把2074和870提取出来保存到TRAHIS和HISBAL两个变量里面呢?

VimChina 发表于 2005-5-9 10:37:16

cdialog之类的都没有么?
那你惨了,用C吧

atfa 发表于 2005-5-9 10:38:34

没有编译器,怎么用c嘛 :neutral:

VimChina 发表于 2005-5-9 10:40:31

awk/sed这两个工具是写脚本的强悍工具啊~~~

atfa 发表于 2005-5-9 10:41:25

VimChina, 我知道啊,可是现在时间不允许我现学啦,渴求牛人帮忙给个大概的写法

VimChina 发表于 2005-5-9 10:41:53

考虑装一个dialog吧,结合sed/awk,差不多可以搞定了
不过我awk/sed不熟 :oops:

VimChina 发表于 2005-5-9 10:46:33

VimChina, 我知道啊,可是现在时间不允许我现学啦,渴求牛人帮忙给个大概的写法
用awk,提取各个域,然后赋值给变量
你简单看看教材就能搞定,我有点生疏了 :oops:

VimChina 发表于 2005-5-9 10:49:36

应该是这样吧:

# awk {print $2}

这样会打印出第二个域的值,就是:

TRAHIS
----------
2074

忘的差不多了,只能给个大概了
抱歉

zhy2111314 发表于 2005-5-9 11:18:55

下面是一个程序的输出



TIME                  TRAHIS   HISBAL
------------------- ---------- ----------
2005-05-09.09:24:51       2074      870



如何把2074和870提取出来保存到TRAHIS和HISBAL两个变量里面呢?
看看这个:
zhyfly@zhyfly:~/bash$ cat tmp TIME TRAHIS HISBAL
------------------- ---------- ----------
2005-05-09.09:24:51 2074 870

zhyfly@zhyfly:~/bash$ cat tmp|sed -n '3p'|awk '{TRAHIS=$2;HISBAL=$3;print TRAHIS,HISBAL}'
2074 870
zhyfly@zhyfly:~/bash$

zhy2111314 发表于 2005-5-9 11:22:23

还有上面的方法只能在awk内部使用,而不能直接这样提取出来,因此上述命令执行完后并不能得到这两个变量真正的值!如果你想要在awk外使用这两个变量,需要另外想办法:)
所以把你想要做的说的再稍微详细点,看能不能解决:)
第一个问题我没有搞清楚什么意思,再看看!:)

atfa 发表于 2005-5-9 11:22:47

TRAHIS=`./getsummary.sh| tail -2 |head -1 | awk '{print $2}'`

这样写虽然有点丑陋,但是将就用吧.

谢谢楼上诸位的帮忙

下一个问题,哦,应该说第一个问题是:

我现在是用的最简单的方式来实现用户交流,就是我在屏幕上输出几行选项,然后读取用户的输入1,2,3,然后判断后执行操作,真个嘎教本是在一个大的if-else循环里面,下一步做成函数后脚本就好看一点,但是整个脚本毫无界面可言(类似于编译内核时那种make config),我希望做成make menuconfig那样的,诸位了解了吧,我知道很难,算了……

atfa 发表于 2005-5-9 11:33:02

再问一个问题吧,我要在一个if里面判断

if [ "$TRAHIS" = "$TRAHISbak" ] AND [ "$HISBAL" = "$HISBALbak" ]; then
echo ok
fi
done


说是参数过多?
应该怎么写呢?谢谢……
页: [1] 2 3
查看完整版本: 急寻脚本案例