免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2369 | 回复: 12
打印 上一主题 下一主题

请教大家个问题。大家不要因为我写日文代码就排挤我啊55555 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-18 11:23 |只看该作者 |倒序浏览
我是个SHELL新手,写得漏洞和想法很多,希望大家指正。
这段代码是昨天写得,想实现的功能是把name_list.txt里面的内容-----按行排列的文件名。

一次读取一行,也就是说一次读取一个文件名,然后进行压缩。我想了两种方式。我都写出来,请大家指正。

一,这个是用READ命令来实现的。我说了我是刚学SHELL,公司刚来项目,之前谁都没用过SHELL,把我赶上架了。

while read list
do
unzip "$list" > vms/aaa
if [ $? -ne 0 ];then
Func_Syslog "ERR" "ADM-61003" "$list解压缩失败。" #LOG输出。
exit 1
fi
done < name_list.txt
二,这段的思想是定义一个函数,然后再主函数中,用传参数的形式,把name_list.txt的内容传给这个函数。
while [ $# -eq 0 ]
do
list=$1
unzip "$list" > vms/aaa
shift
if [ $? -ne 0 ];then
Func_Syslog "ERR" "ADM-61003" "$list解压缩失败"  #LOG输出。
exit 1
fi
done


真诚希望大家和我交流,QQ81857404
MSNhandsomeice1024@hotmail.com

论坛徽章:
0
2 [报告]
发表于 2005-08-18 11:27 |只看该作者

请教大家个问题。大家不要因为我写日文代码就排挤我啊55555

这个帖子大家能清楚完整地看到么?谢谢。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2005-08-18 12:21 |只看该作者

请教大家个问题。大家不要因为我写日文代码就排挤我啊55555

能不能注释一下你的脚本
unzip ....?

论坛徽章:
0
4 [报告]
发表于 2005-08-18 12:39 |只看该作者

请教大家个问题。大家不要因为我写日文代码就排挤我啊55555

unzip 不是解压缩命令么?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
5 [报告]
发表于 2005-08-18 13:31 |只看该作者

请教大家个问题。大家不要因为我写日文代码就排挤我啊55555

unzip "$list" > vms/aaa 是要记录unzip了哪个文件么?
每次循环不会覆盖aaa么?


$# -eq 0 时会有$1么?

论坛徽章:
0
6 [报告]
发表于 2005-08-18 13:37 |只看该作者

请教大家个问题。大家不要因为我写日文代码就排挤我啊55555

while [ $# -eq 0 ] #执行循环。
do
list=$1 #变量list取参数(也就是name_list.txt里面的内容,文件名)
unzip "$list" >> vms/aaa         #解压缩到vms/aaa
if [ $? -ne 0 ];then                                   #判断返回值
Func_Syslog "ERR" "ADM-61003" "$list解凍失败。" #LOG输出。
exit 1
shift                                                                   #指向下一个参数
fi
done


这是我的意图。那个shift写错了原来。

谢谢大家的回帖,有人告诉我说是因为我代码里面有日文大家抵制,真的很冤枉哈。我在大连,大连我不知道大家是否知道哈,全是对日的。所以。。。请大家不要因为这个排挤我。谢谢。

论坛徽章:
0
7 [报告]
发表于 2005-08-18 13:40 |只看该作者

请教大家个问题。大家不要因为我写日文代码就排挤我啊55555

这个程序最大的问题就是,你怎么保证你那个txt的文件里的内容传到参数的时候,能把里面的文件名一条一条的分别传给$1,$2,$3,。。。。

论坛徽章:
0
8 [报告]
发表于 2005-08-18 13:48 |只看该作者

请教大家个问题。大家不要因为我写日文代码就排挤我啊55555

原帖由 "handsome1024" 发表:
while read list
do
unzip "$list" > vms/aaa
if [ $? -ne 0 ];then
Func_Syslog "ERR" "ADM-61003" "$list解压缩失败。" #LOG输出。
exit 1
fi
done < name_list.txt


个人认为没什么大问题
1  unzip "$list" >> vms/aaa
2  但是觉得不应该有exit 1 出错就一定要exit吗

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
9 [报告]
发表于 2005-08-18 13:52 |只看该作者

请教大家个问题。大家不要因为我写日文代码就排挤我啊55555

> vms/aaa

个人认为这个没什么意义吧? 不显示unzip的信息?

另,大连是殖民地?

论坛徽章:
0
10 [报告]
发表于 2005-08-18 13:57 |只看该作者

请教大家个问题。大家不要因为我写日文代码就排挤我啊55555

>> vms/aaa   应该是这个。是解压缩后的文件放到这个文件夹。另外请教下,显示unzip的信息,是什么意思?是什么效果?

出错后,业务书要求是直接终了。


解放前大连确实是日本的殖民地。现在大连80%的软件是对日的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP