红联Linux门户
Linux帮助

求救:bash shell 的一道题目 不懂做

发布时间:2009-02-19 22:07:03来源:红联作者:hunhunsheng
求救:
请编写程序,可以将/etc/passwd的第一栏取出,而且每一栏都以一行字符串 “the 1 account is "root" ”来显示,1 表示行

我写了个初步。。。但是没出现自己想要的结果。。所以没办法写完这道题

#!/bin/bash
# History:
# 2009/2/19 zhengtong first release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH


i=0
while [ "$whz" != "zt" ]
do
s=$(($i+1))
whz=`cut -d ":" /etc/passwd -f 1 | sed -n ""$s"p"`
echo "$whz"
done
文章评论

共有 9 条评论

  1. yi0734 于 2009-08-10 18:21:49发表:

    我是菜鸟,路过学习

  2. qiannian521 于 2009-08-10 17:39:06发表:

    学习学习

  3. ShinyGuo 于 2009-03-09 21:35:23发表:

    [i=s] 本帖最后由 ShinyGuo 于 2009-3-9 21:36 编辑 [/i]

    其实也可以这样:
    declare -i row=1 # 定义row是一个整数
    account=` cut -d ":" -f1 /etc/passwd ` # 注意把等号右边括起来的不是单引号,
    #而是1左边的那个键`
    for i in $account
    do
    echo "The $row account is \" $i \""
    row=$row+1;
    done

  4. ShinyGuo 于 2009-03-09 18:33:33发表:

    楼上的wanzijiali好厉害!学习..

  5. nxlinux 于 2009-03-03 17:30:58发表:

    这样的脚本程序是什么语言的哦?

  6. wanzijiali 于 2009-03-03 16:58:48发表:

    4# jagub

    awk -F : '{print NR" " $1}' /etc/passwd |awk '{print"the "$1" account is \"" $2"\""}'就可以了也可以在后面加上>file,将内容重定向到file中

  7. jagub 于 2009-02-21 21:15:09发表:

    到命令专区看看

  8. hunhunsheng 于 2009-02-21 19:28:25发表:

    没人理啊?
    啊啊啊啊啊啊啊

  9. hunhunsheng 于 2009-02-19 22:07:54发表:

    我有个帐号为zt