- 论坛徽章:
- 60
|
获奖公布:
精彩回复:本友会机友会摄友会 o枫叶o飘零 Forgaoqiang Fl_wolf 799029078
请以上获奖人员在5月25日前将姓名、电话、邮箱、公司、职务、快递地址站短给hyukhae079408,以便尽快给大家发放礼品。
话题背景:
不管哪种编程语言, 总会有某些写法会被人认为这是编程语言本身的陷阱, 或者说是个坑,因为它貌似不符合人们的常规认知, 或者说我们想当然的认为应该是这么做的.
今天我们就Linux shell脚本语言来探讨下其所谓的”陷阱”.
我们先来看一张动图, 我们遍历一个目录下的mp3文件,然而结果跟我们想象中的却不一样!
看到这个图, 你有想过, 单纯的这样写
for i in $(ls *.mp3); do
some command $i
done
是错的, 或者说是不严谨的吗?
再比如:
#!/bin/bash
count=0
seq 5 | while read line; do
((count++))
echo "count=$count"
done
echo "End:count=$count"
为什么最后 count 的值压根没变?
更多类似的"坑", 请仔细阅读: http://mywiki.wooledge.org/BashPitfalls, 个人认为这些都是非常经典的"坑", 然后再来探讨下我们的问题.
讨论问题:
1. 你认为这些真的是shell语言的"陷阱"吗?还是说这只是我们对语言了解的不够深入?
2. 在编码的过程中, 你是否注意编码的相关细节(比如引号), 以及考虑过代码的兼容性,严谨性以及健壮性?
3. 最重要的一点, 你从这些所谓的"陷阱"中学到了哪些知识点?
4. 你还遇到过其他你认为是"坑"的坑吗?
活动时间: 3月30日-4月30日
活动奖励:活动结束后,我们将会选取5个精彩回复,送创意镜头水杯一个。
![]()
DTCC 2017 来啦!
随着云计算和大数据时代的来临,数据正在以前所未有的速度成为各个领域价值创造的核心驱动力。
在此背景下,国内最受关注的数据库技术盛会——2017第八届中国数据库技术大会(DTCC2017)将于2017年5月11-13日如约而至。本届大会以“数据驱动•价值发现”为主题,汇集来自互联网、电子商务、金融、电信、政府、行业协会等20多个领域的120多位技术专家,共同探讨Oracle、MySQL、NoSQL、云端数据库、智能数据平台、区块链、数据可视化、深度学习等领域的前瞻性热点话题与技术。大会共设定2大主场和20个技术专场,将吸引5000多名IT人士参会,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。
![]()
官网链接:http://dtcc.it168.com/
购票链接:http://dtcc.it168.com/goupiao.html
欢迎扫码关注DTCC官方微信,获取最新信息!
![]()
|
|