赞助连接

赞助连接

阅 读 文 章

第一次写了一个FUNCTION,但是不知道怎么用

[来源:网上转载 (http://bbs.chinaunix.net) | 作者:网友(网络转载) | 时间:2008-06-14 | 浏览:人次 ]

cat funcion4
#!/bin/sh
  whois()
  {
  if [ $# -lt 1 ]
    then
    echo "need user id please"
    return 1
  fi
  
  for loop
    do
     user_name=`grep $loop   /etc/passwd | awk -F: '{print $4}'`
     if [ "$user_name" = "" ]
       then
         echo "not find $loop"
     else
         echo "$loop is $user_name"
     fi
    done
  }


  我想用这个,但是不知道怎么用

sh funcion4 prodction
然后什么都没有,。不知道为什么是这样的,应该怎么样才可以执行,还有就是不知道这个$loop表示什么意思,表示所有的输入名字吗?不太明白,为什么是这样的


sorry,看错了..






QUOTE:原帖由 MYSQLER 于 2008-6-13 16:19 发表
后面没有跟参数..
sh funcion4 prodction
  这个就是参数


函数直接输入函数名就可以调用


source function4

. function4

sh function4的话会在子shell中执行,该子shell结束后就没效果了。




QUOTE:原帖由 woodie 于 2008-6-13 16:26 发表
source function4

. function4

sh function4的话会在子shell中执行,该子shell结束后就没效果了。
source function4
没有结果
. function4
没有结果
source function4  production
没有结果
. function4   production
没有结果


cat /etc/passwd | grep production
production:x:505:505::/home/production:/bin/bash


没有结果?
之后你在当前shell下调用函数了没有?


1. grep 和 $loop 中有个空格
2. 运行 .  function4
3. 运行 whois root 或者其他用户名 whois sys root mail 等

whois root
root is 1

whois sys root mail
sys is 3
root is 1
not find mail


当然,实际上有bug




QUOTE:原帖由 rollingpig 于 2008-6-13 16:49 发表
1. grep 和 $loop 中有个空格
2. 运行 .  function4
3. 运行 whois root 或者其他用户名 whois sys root mail 等

whois root
root is 1

whois sys root mail
sys is 3
root is 1
not find mail

...
不要意思这个grep 和 $loop中间是有一个空格,但是贴的时候不小心贴错了,我不太明白这个  $loop 表示一个什么东西,表示我输入的那一个变量字符串吗?
TAG标签 : 知道 怎么 但是 一个 第一次 loop root whois function4

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表
网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.