Linux脚本的注意事项:
今天把《Linux Shell脚本攻略》第一章看完了,总结一下自己在运行时出过的小插曲:
首先IFS那里,使用IFS读取变量的每一个条目时,书籍是有一处错误的,总之记住,你以什么为CSV数据分隔符,那你将IFS赋成什么就就好了。
在写Linux shell脚本利用 [ ] 进行脚本判断时,切记在 [ ] 和你的条件两端加空格,例如你的判断条件是 $x -eq 0,用 [ ] 进行判断的条件是 [空格$x -eq 0空格],否则会报错,在这个上面耗费了比较长的一段时间才知道错误原因。
一些小知识点:&是按位与操作符,| 是按位或操作符,这两个都是位操作符。&& 是逻辑与操作符,|| 是逻辑或操作符。貌似编程之美上有一道题用到这个了,但当时没有细看这个知识点。
Linux命令之乐:
以前一直觉得Linux命令挺无趣的,但今天练习script和scriptreplay时乐趣横生,script是录制文件,我是这么写的 script -t 2>timing.log -a output.session。完全抄的,然后输入了自己想要玩的命令,ps bash 等等,最后输入 exit停止录制,播放时将上面生成的两个文件放在scriptreplay后面即可,然后等待一段时间,你会发现你像在看视频一样,看你在输入的命令。而且生成的两个文件的确很小。
在书上看到这样一段话,感触蛮大的,摘抄如下:maxdepth和-mindepth应该作为find的第3个参数出现。如果作为第4个或之后的参数,就可能会影响到find的效率,因为它不得不进行一些不必要的检查。例如,如果-maxdepth作为第4个参数,-type作为第三个参数,find首先会找出符合-type的所有文件,然后在所有匹配的文件中再找出符合指定深度的那些。但是如果反过来,目录深度作为第三个参数,-type作为第四个参数,那么find就能够在找到所有符合指定深度的文件后,再检查这些文件的类型,这才是最有效的搜索顺序。
这就是今天的收获。进度还是有点慢,7天看完这本书估计自己到后面会跳着看一些章节,主要看网络方面和系统管理员方面的吧,因为正则表达式实际上鸟哥上面讲的也是比较清楚的,今天看觉得一些细节的东西可以略过,因为你记不住。把大块的东西记住,然后需要的时候现查其实是比较好的学习方式!不能贪大求全。