谁可相欹 发表于 2015-1-18 11:26:19

Linux制作之简便的bash编程技能仓酷云

使用gcc或g++进行编译,使用gdb进行调试;
上面这几条是我本人在写shell代码的时分,对照喜好的几种写法,举一反三。
1)反省命令实行是不是乐成
第一种写法,对照罕见:
echoabcdee|grep-qabcdif[$?-eq0];thenecho"Found"elseecho"Notfound"fi简便的写法:
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi固然你也能够不要if/else,不外如许可读性对照差:
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found2)将尺度输入与尺度毛病输入重定向到/dev/null
第一种写法,对照罕见:
grep"abc"test.txt1>/dev/null2>&1罕见的毛病写法:
grep"abc"test.txt2>&11>/dev/null简便的写法:
grep"abc"test.txt&>/dev/null3)awk的利用
举一个实践的例子,猎取XenDomU的id。
罕见的写法:
sudoxmli|grepvm_name|awk{print$2}简便的写法:
sudoxmli|awk/vm_name/{print$2}4)将一个文本的一切行用逗号毗连起来
假定文件内容以下所示:
~/workspace$cat/tmp/test.txt123利用Sed命令:
~/workspace$sed:a;$!N;s/
/,/;ta/tmp/test.txt1,2,3简便的写法:
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi05)过滤反复行
假定文件内容以下所示:
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi1经常使用的办法:
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi2复杂的写法:
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi36)grep查找单词
假定一个文本的每行是一个ip地点,比方
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi4利用grep查找是不是包含10.0.0.1这个ip地点。罕见的写法:
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi5复杂的办法(实在这办法不见得复杂,只是为了申明-w这个参数仍是很有效的)
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi6特地grep的-n/-H/-v/-f/-c这几参数都很有效。
7)一时设置情况变量
罕见的写法:
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi7简便的写法:
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi8在命令之前加上情况变动的设置,只是一时改动以后实行命令的情况。
8)$1,$2…等地位参数的利用
假定只想利用$2,$3..这几个参数,罕见的做法是:
ifechoabcdee|grep-qabc;thenecho"Found"elseecho"Notfound"fi9为何不如许写呢?
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found09)退而求其次的写法
信任人人会有这类需求,当一个参数值没有供应时,可使用默许值。罕见的写法是:
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found1简便的写法是如许的:
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found210)bash特别参数–的用法
假定要用grep查找字符串中是不是包括-i,我们会如许实验:
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found3简便的办法是:
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found4bash中–前面的参数不会被看成选项剖析。
11)函数的前往值默许是最初一行语句的前往值
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found5不要多此一举再在前面加一行return$?了。
12)将printf格局化的了局赋值给变量
比方将数字转换成其十六进制情势,罕见的写法是:
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found6复杂的写法是:
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found7看看printf的help
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found813)打印文件行
打印文件的第一行:
~/workspace$echoabcdee|grep-qabc&&echo"Found"||echo"Notfound"Found9打印文件的第2行:
grep"abc"test.txt1>/dev/null2>&10打印文件的第2到5行:
grep"abc"test.txt1>/dev/null2>&11打印文件的第2行始(包含第2行在内)5行的内容:
grep"abc"test.txt1>/dev/null2>&12打印倒数第二行:
grep"abc"test.txt1>/dev/null2>&1314)善用let大概(())命令做算术运算
怎样对一个数字做++运算,大概你会如许用:
grep"abc"test.txt1>/dev/null2>&14为什么不必你熟习的:
grep"abc"test.txt1>/dev/null2>&1515)猎取软毗连指定的实在文件名
假如你不晓得,你大概会如许猎取:
grep"abc"test.txt1>/dev/null2>&16假如你晓得有一个叫readlink的命令,那末:
grep"abc"test.txt1>/dev/null2>&1716)猎取一个字符的ASCII码
grep"abc"test.txt1>/dev/null2>&1817)清空一个文件
罕见的用法:
grep"abc"test.txt1>/dev/null2>&19复杂的写法:
grep"abc"test.txt2>&11>/dev/null018)不要健忘有heredocument

透明 发表于 2015-1-21 06:35:32

可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。?

admin 发表于 2015-1-27 05:05:41

在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。

海妖 发表于 2015-1-28 08:21:56

在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。

活着的死人 发表于 2015-1-31 18:00:34

通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?

因胸联盟 发表于 2015-2-6 00:31:14

熟悉操作是日常学习Linux中的三大法宝。以下是作者学习Linux的一些个人经验,供参考:

老尸 发表于 2015-2-9 03:21:06

查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。

再见西城 发表于 2015-2-9 22:49:48

随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).

变相怪杰 发表于 2015-2-27 20:12:32

为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?

不帅 发表于 2015-3-9 12:41:03

Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。

简单生活 发表于 2015-3-20 08:48:42

熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。

爱飞 发表于 2015-4-10 18:47:43

Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
页: [1]
查看完整版本: Linux制作之简便的bash编程技能仓酷云