采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师我输出的值没有换行,导致所有的结果都是1 这个怎么解决 写的都是正确的 输出结果都是1 ,打印items 发现没有换行
把源代码直接贴上来,包括你的mysql配置文件,我来看一下,这样看不确定哪里有问题哈
添加回答了 配置文件太多了 摘了一小段下来 跟您的文件是一样的
代码中的第16行 for item in items,这里的items变量前面没加$符号,加上去就好了,你试一下
老师厉害 666
[client] #password = your_password port = 3306 socket = /var/lib/mysql/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-external-locking key_buffer_size = 384M max_allowed_packet = 1M table_open_cache = 512 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M
#! /bin/bash\ # FILE_NAME=/usr/share/mysql/my-huge.cnf function get_all_segment { echo "` sed -n '/\[.*\]/p' $FILE_NAME | sed -e 's/\[//g' -e 's/\]//g' `" } #for seg in `get_all_segment` #do # echo " segment: $seg" #done function count_items_in_segment { items=`sed -n '/\['$1'\]/,/\[.*\]/p' $FILE_NAME | grep -v '^#' | grep -v '^$' | grep -v '\[.*\]'` index=0 for item in items do index=`expr $index + 1` done echo $index } #echo `count_items_in_segment mysqldump` #count=`count_items_in_segment mysqldump` #echo $count number=0 for segment in `get_all_segment` do number=`expr $number + 1` itc=`count_items_in_segment $segment` echo "$number: $segment $itc" done
登录后可查看更多问答,登录/注册
30%知识讲解+70%实例操作 掌握Shell脚本编程能力
1.3k 15
8.8k 11
837 6
1.2k 6
1.1k 6
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号