|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们![size=1.4em]上面这几条是我本人在写shell代码的时分,对照喜好的几种写法,举一反三。
1.反省下令实行是不是乐成
[size=1.4em]第一种写法,对照罕见:- echoabcdee|grep-qabcdif[$?-eq0];thenecho"Found"elseecho"Notfound"fi
复制代码 [size=1.4em]简便的写法:- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi
复制代码 [size=1.4em]固然你也能够不要if/else,不外如许可读性对照差:- [SunNov0405:58AM][kodango@devops]~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found
复制代码 2.将尺度输入与尺度毛病输入重定向到/dev/null
[size=1.4em]第一种写法,对照罕见:- grep"abc"test.txt1>/dev/null2>&1
复制代码 [size=1.4em]罕见的毛病写法:- grep"abc"test.txt2>&11>/dev/null
复制代码 [size=1.4em]简便的写法:- grep"abc"test.txt&>/dev/null
复制代码 3.awk的利用
[size=1.4em]举一个实践的例子,猎取XenDomU的id。
[size=1.4em]罕见的写法:- sudoxmli|grepvm_name|awk{print$2}
复制代码 [size=1.4em]简便的写法:- sudoxmli|awk/vm_name/{print$2}
复制代码 4.将一个文本的一切行用逗号毗连起来
[size=1.4em]假定文件内容以下所示:- [SatNov0310:04PM][kodango@devops]~/workspace$cat/tmp/test.txt123
复制代码 [size=1.4em]利用Sed下令:- [SatNov0310:14PM][kodango@devops]~/workspace$sed:a;$!N;s/
- /,/;ta/tmp/test.txt1,2,3
复制代码 [size=1.4em]简便的写法:- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi0
复制代码 5.过滤反复行
[size=1.4em]假定文件内容以下所示:- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi1
复制代码 [size=1.4em]经常使用的***:- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi2
复制代码 [size=1.4em]复杂的写法:- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi3
复制代码 6.grep查找单词
[size=1.4em]假定一个文本的每行是一个ip地点,比方- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi4
复制代码 [size=1.4em]利用grep查找是不是包含10.0.0.1这个ip地点。罕见的写法:- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi5
复制代码 [size=1.4em]复杂的***(实在这***不见得复杂,只是为了申明-w这个参数仍是很有效的)- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi6
复制代码 [size=1.4em]特地grep的-n/-H/-v/-f/-c这几参数都很有效。
7.一时设置情况变量
[size=1.4em]罕见的写法:- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi7
复制代码 [size=1.4em]简便的写法:- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi8
复制代码 [size=1.4em]在下令之前加上情况变动的设置,只是一时改动以后实行下令的情况。
8.$1,$2...等地位参数的利用
[size=1.4em]假定只想利用$2,$3..这几个参数,罕见的做法是:- ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi9
复制代码 [size=1.4em]为何不如许写呢?- [SunNov0405:58AM][kodango@devops]~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found0
复制代码 9.退而求其次的写法
[size=1.4em]信任人人会有这类需求,当一个参数值没有供应时,可使用默许值。罕见的写法是:- [SunNov0405:58AM][kodango@devops]~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found1
复制代码 [size=1.4em]简便的写法是如许的:- [SunNov0405:58AM][kodango@devops]~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found2
复制代码 10.bash特别参数--的用法
[size=1.4em]假定要用grep查找字符串中是不是包括-i,我们会如许实验:- [SunNov0405:58AM][kodango@devops]~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found3
复制代码 [size=1.4em]简便的***是:- [SunNov0405:58AM][kodango@devops]~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found4
复制代码 [size=1.4em]bash中--前面的参数不会被看成选项剖析。
11.函数的前往值默许是最初一行语句的前往值
- [SunNov0405:58AM][kodango@devops]~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found5
复制代码 [size=1.4em]不要多此一举再在前面加一行return$?了。
12.将printf格局化的了局赋值给变量
[size=1.4em]比方将数字转换成其十六进制情势,罕见的写法是:- [SunNov0405:58AM][kodango@devops]~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found6
复制代码 [size=1.4em]复杂的写法是:
[code][Sat |
|