摘要:-Shell调试技术总结学习没种语言都会在编写程序中遇到错误,当然shell也不例外。Shell脚本的错误主要可分为两类:第一类是shell脚本中的语法错误,脚本无法执行到底,第二类是shell脚本能够执行完毕,但并不能按照我们预期的结果那样,也就是存在逻辑错误。第一类错误主要包括漏掉关键字、漏掉引号、空格符该有而未有、变量大小写没去分等。这一类错误一般通过自己的仔细检查都能够检查出来,关键是第二种错误。在逻辑错误中Shell有几种调试方法。常见的Shell调试方法有trap、tee、调试钩子和Shell选项。(一)trap是Linux的内建命令,不要用于捕捉信号,trap命令可以指定收集某种
阅读全文
摘要:-Shell调试技术总结学习没种语言都会在编写程序中遇到错误,当然shell也不例外。Shell脚本的错误主要可分为两类:第一类是shell脚本中的语法错误,脚本无法执行到底,第二类是shell脚本能够执行完毕,但并不能按照我们预期的结果那样,也就是存在逻辑错误。第一类错误主要包括漏掉关键字、漏掉引号、空格符该有而未有、变量大小写没去分等。这一类错误一般通过自己的仔细检查都能够检查出来,关键是第二种错误。在逻辑错误中Shell有几种调试方法。常见的Shell调试方法有trap、tee、调试钩子和Shell选项。(一)trap是Linux的内建命令,不要用于捕捉信号,trap命令可以指定收集某种
阅读全文
摘要:I/O重定向是Linux的重要内容。I/O重定向就是一个过程,在这个过程中捕捉一个文件、命令、程序或脚本,甚至代码块的输出,然后把捕捉到的输出作为输入发送到另一个文件、命令、程序或脚本。 基本I/O重定向符号和意义序号 (举例)符号 意义1cmd1 md2 管道符,将cmd1的标准输出作为cmd2的标准输入2> filename将标准输出写到文件filename中3< filename将文件filename的内容读入到标准输出中去4>> filename将标准输出写到文件filename中,若filename存在则把内容追加到filename那么后面,5>| f.
阅读全文
摘要:1、关于if的应用 if后边跟的条件必须用[ ](中括号)括起来然后下边用then ,最后用fi。1 #!/bin/bash
2 #if test2
3 echo -n "Enter your name: "
4 read NAME
5 if [ "$NAME" == "" ]
6 then
7 echo "You dont't enter any word "
8 fi 2、关于if/elif/else的应用 if后边跟的条件必须用[ ](中括号)括起来然后下边用then,elif后边跟的条件也必须用[
阅读全文
摘要:Shell 中位运算符的应用 位运算符通常用于整数间运算,位运算符是针对整数在内存中二进制数据流中的位进行操作。例如:表达式“2>>1”表示将整数的二进制数2在内存中的二进制数据流向左移动一位。运算符 名称 举例 解释value的值 << 左移value=4>>24左移2位,value值为16>>右移value=8<<28右移2位,value值为2&按位与value=8&&48按位与4,val...
阅读全文
摘要:Shell 中引用符号的名称及意义符号 名称 意义“ ”双引号引用处美元符号($)、反引号(`)、和反斜线(\)之外的所有符号‘ ’单引号引用所有符号` `反引号Shell将反引号中的内容解释为系统命令\反斜线转义符,屏蔽下一个字符的特殊意义 Shell中的特殊字符及其意义 特殊符号 意义&传递到脚本的参数数量*0个或多个在*字符之间的那个普通字符起+匹配1个或多个在其以前的那个普通字符3^匹配行首,或后面字符的非$ 命令的退出状态,0代表正确,1代表错误 `反...
阅读全文
摘要:一、sed (Stream Editor)1、定位行:sed -n '12,~3p' pass #从第12行开始,直到下一个3的倍数行(12-15行)sed -n '12,+4p' pass #从第12行开始,连续4行(12-16行)sed -n '12~3p' pass #从第12行开始,间隔3行输出一次(12,15,18,21...)sed -n '10,$p' pass #从第10行至结尾sed -n '4!p' pass #除去第4行2、正则:'/正则式/'sed -n '/root
阅读全文
摘要:用法:ls [选项]... [文件]...列出 FILE 的信息(默认为当前目录)。如果不指定-cftuvSUX 或--sort 选项,则根据字母大小排序。长选项必须使用的参数对于短选项时也是必需使用的。 -a, --all 不隐藏任何以. 开始的项目 -A, --almost-all 列出除. 及.. 以外的任何项目 --author 与-l 同时使用时列出每个文件的作者 -b, --escape 以八进制溢出序列表示不可打印的字符 --block-size=大小 块以指定大小的字节为单位 -B, --ignore-backups 不列出任何以"~"字符结束的项目 -c
阅读全文
摘要:最近接触到shell编程发现在linux里边太重要了。但是刚开始还是不太习惯。慢慢的感觉还可以。 在shell 里边特别要注意空格的使用。关于空格很容易出错。中括号内的每个组件都需要用空格 隔开。中括号内的变量做好用双引号设置,中括号内的常量最好用单引号或双引号来设置。 在变量前边都要加$符号。 在shell里边的循环与其他语言也有很大的不同。比如for、until、while 、循环都必须有do 和 done。if循环要用then然后用fi结尾。case循环要用ease结尾,每个case判断条件后都要用两个;;。 以及" ` "的使用,...
阅读全文