免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: hanxu588
打印 上一主题 下一主题

求助 关于shell 工具 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2011-05-16 10:31 |只看该作者
回复 30# yinyuemi
版主 你写的是 是在bash下运行的
我的是bounce shell
  1. convert()
  2. {
  3.     lower='abcdefghijklmnopqrstuvwxyz'
  4.     upper='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  5.     length=`expr length $1`
  6.     i=1
  7.     j=1
  8.     while [ "$i" -le "$length" ]
  9.     do
  10.         s=`expr substr "$1" $i $j`
  11.         if expr index "$lower" "$s" >/dev/null
  12.         then
  13.             index=`expr index "$lower" "$s"`
  14.             w=`expr substr "$upper" $index $j`
  15.             echo -n "$w"  
  16.         else
  17.             echo -n "$s"

  18.         fi
  19.         i=`expr $i + 1`
  20.     done
  21. }  
复制代码
但是我的运行不了 只能 转变前半部分

论坛徽章:
0
32 [报告]
发表于 2011-05-16 10:40 |只看该作者
回复 30# yinyuemi
只能转换一半 很郁闷啊
等版主你提意见

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
33 [报告]
发表于 2011-05-16 11:10 |只看该作者
回复 31# hanxu588


    试试:
length=`expr length "$1"`

论坛徽章:
0
34 [报告]
发表于 2011-05-16 11:30 |只看该作者
回复 33# yinyuemi
还是不行啊
纳闷了 为什么不能做出来

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
35 [报告]
发表于 2011-05-16 11:41 |只看该作者
回复 34# hanxu588


    我这里没有测试的环境,你每行每行的检查下问题出在哪里,应该是那个变量出错了,你加个echo 命令,打印下每个步骤的变量是否正确,

论坛徽章:
0
36 [报告]
发表于 2011-05-17 23:00 |只看该作者
回复 35# yinyuemi
怎么用who 统计计算机有多少个用户登录那
不使用其他工具 awk sed grep 等等
  1. i=0
  2. OLDIFS="$IFS"
  3. IFS="\\n"
  4. touch temp
  5. echo `who` >> temp
  6. while read line
  7. do
  8.     i=`expr $i + 1`
  9. done < temp
  10. rm temp
  11. echo "There are $i users on the system."
复制代码
还有什么 更简洁的方法没

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
37 [报告]
发表于 2011-05-18 00:04 |只看该作者
回复 36# hanxu588
  1. who -q
复制代码

论坛徽章:
0
38 [报告]
发表于 2011-05-18 00:17 |只看该作者
回复 37# yinyuemi
  1. xu@xu:~$ who -q
  2. xu xu xu
  3. # users=3
  4. xu@xu:~$
复制代码
关键是我怎么得到那个3

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
39 [报告]
发表于 2011-05-18 00:34 |只看该作者
回复 38# hanxu588

  1. a=`who -q`
  2. echo `expr "$a" : '[^=]*=\([0-9]*\)'`
  3. 4
复制代码

论坛徽章:
0
40 [报告]
发表于 2011-05-18 01:20 |只看该作者
回复 39# yinyuemi
搞定 厉害
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP