为什么不能用ruby脚本写啊,shell脚本写的俺很烦啊...
整数比较
-eq 等于,如:if [ "$a" -eq "$b" ]
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt 大于,如:if [ "$a" -gt "$b" ]
-ge 大于等于,如:if [ "$a" -ge "$b" ]
-lt 小于,如:if [ "$a" -lt "$b" ]
-le 小于等于,如:if [ "$a" -le "$b" ]
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))
字符串比较
= 等于,如:if [ "$a" = "$b" ]
== 等于,如:if [ "$a" == "$b" ],与=等价
注意:==的功能在[[]]和[]中的行为是不同的,如下:
1 [[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true
2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true
3
4 [ $a == z* ] # File globbing 和word splitting将会发生
5 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true
一点解释,关于File globbing是一种关于文件的速记法,比如"*.c"就是,再如~也是.
但是file globbing并不是严格的正则表达式,虽然绝大多数情况下结构比较像.
!= 不等于,如:if [ "$a" != "$b" ]
这个操作符将在[[]]结构中使用模式匹配.
< 小于,在ASCII字母顺序下.如:
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
注意:在[]结构中"<"需要被转义.
> 大于,在ASCII字母顺序下.如:
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
注意:在[]结构中">"需要被转义.
具体参考Example 26-11来查看这个操作符应用的例子.
-z 字符串为"null".就是长度为0.
-n 字符串不为"null"
注意:
使用-n在[]结构中测试必须要用""把变量引起来.使用一个未被""的字符串来使用! -z
或者就是未用""引用的字符串本身,放到[]结构中。虽然一般情况下可
以工作,但这是不安全的.习惯于使用""来测试字符串是一种好习惯.
awk '{print $2}' class.txt | grep '^[0-9.]' > res
- 大小: 29.1 KB
分享到:
相关推荐
2. **Shell语法**:讲解变量、条件表达式、流程控制(如if、for、while循环)、函数等基本语法元素,帮助读者构建脚本的基础框架。 3. **文件与目录操作**:如何创建、删除、移动、复制文件和目录,以及文件查找、...
例如,`chap02`可能包含第二章的脚本实例,涉及Shell的基础知识,如变量、条件语句和循环。`chap05`可能涉及函数和数组,而`chap07`可能涵盖输入/输出重定向和管道等高级主题。 通过这些脚本,你可以学习以下核心...
5. **Shell剑客**(上下):这部分可能是一个系列教程,重点讲解了Shell脚本的高级技巧和实战应用,如条件表达式、正则表达式、函数、错误处理、流程控制等,帮助用户提升Shell脚本的编写能力。 6. **编辑器使用**...
在编写 Shell 脚本时,还可能会用到表达式和运算符,如 expr 命令或使用 $(()) 和 $[] 进行算术运算,let 命令进行更为复杂的数值运算。使用条件测试,可以利用中括号 [] 或 test 命令来判断条件,例如检查字符串...
2. **条件语句和循环**:如`if...else`结构用于基于特定条件执行不同任务,`for`和`while`循环则可以重复执行一段代码,直到满足某个条件为止。 3. **变量和参数**:脚本可以使用变量存储数据,使用参数传递外部值...
在Shell脚本中实现这些功能可能需要用到更复杂的字符串处理和逻辑判断。例如,使用`awk`或`sed`命令来解析表达式,或者通过多次调用来处理带有括号的运算。 `readme.txt`文件通常包含有关项目的信息,如作者、许可...
在研究这些源码时,你可能会遇到如Bash、Sh或其他shell变种的语法,以及可能用到的工具,如awk、sed和grep等。理解这些工具和语法是提高shell编程技能的关键。同时,这些项目也鼓励你思考如何优化代码,使其更加高效...
2. 常用shell命令:介绍在编写shell脚本时会用到的一些基本命令和工具,包括文件操作命令(如echo、cat、cp、mv、rm)、文本处理工具(如grep、sed、awk)、权限管理(如chmod、chown)、进程管理(如ps、kill)等。...
Shell脚本中的流程控制语句包括if条件语句、case选择语句、for循环语句和while循环语句等,它们用于控制脚本中命令的执行顺序。 10. 代码发布流程 代码发布流程涉及代码发布的介绍、发布方式及技术关键点。在自动化...
Shell编程精通阶段可能涵盖如下知识点: 1. 编写健壮的脚本:理解并实现错误处理、日志记录、参数检查等提高脚本健壮性的措施。 2. 高级特性:深入学习Shell的高级特性,例如数组、关联数组(在Bash中称为字典)、...
通过学习Shell,可以进一步学习其他编程语言,因为Shell的很多概念和操作在其他编程语言中也会用到。Shell的灵活性和强大功能使其成为运维工程师、开发工程师以及Linux系统爱好者不可或缺的工具。
8. **脚本编程支持**:虽然不是所有shell实验都会涉及,但高级shell可能需要支持简单的条件语句(如`if`、`else`)和循环(如`for`、`while`)。这需要实现一个简单的解释器来解析和执行这些结构。 9. **命令历史和...
1. **Shell基础知识**:包括Shell变量、条件语句(if-else)、循环结构(for、while)、函数定义等。这些都是编写任何Shell脚本的基础。 2. **命令行交互**:脚本可能会使用到Linux/Unix系统内置的命令,如`curl`或...
最后,要编写一个具有菜单功能的Shell脚本,这需要用到条件判断、循环结构以及用户交互。用户输入的数字或名称需要被解析,然后根据输入执行相应的命令。实现这个菜单可以使用`case`语句或者`if-else`结构。例如,当...
而在Shell脚本中进行文件测试时,会用到一系列的选项,这些选项可以帮助我们检测文件的各种属性。本文将详细介绍从`-z`到`-d`这一系列选项的具体含义及其应用场景。 #### 文件测试操作符概述 在Shell脚本中,`if`...
5. **命令执行**: 文档中包含了一些Shell命令的引用,如`/78"`等,这可能是执行某个特定命令的示例。 #### 七、Shell编程实战技巧 - **调试技巧**: 使用`set -x`开启调试模式,查看脚本执行过程中的每一步。 - **...
在Shell中,通常会用到循环(如for或while)和条件语句(if)来遍历并检查数字。例如,脚本可能会创建一个从2到99的序列,然后对每个数字进行因数测试。如果数字不能被2到它的平方根之间的任何整数整除,那么它就是...
在Shell设计入门中,卧龙小三可能会讲解如何创建和运行简单的脚本,包括变量定义、条件语句、循环结构、函数定义等基本元素。 变量在Shell编程中扮演着重要角色。它们用于存储数据,可以是数字、字符串或数组。通过...
在Shell编程中,会用到许多Linux命令和工具,这些是完成脚本任务的基本组件。文中提到的`ls`、`cp`、`touch`等都是常用的Linux命令。 1. **ls命令**: - 用于列出目录内容,常见的用法有`ls -l`显示详细列表。 2....
在条件判断和流程控制中,会用到以下逻辑运算符:`&&`(逻辑与)、`||`(逻辑或)、`!`(逻辑非)。 **九、正则表达式** 在字符串匹配和文件查找中,正则表达式是强大的工具。例如,`grep`命令支持正则表达式: ```...