shell

程序员小x大约 2 分钟

shell

shell命令中的分号, && 和 ||的区别

分号: 顺序地独立执行各条命令,彼此不关心是否失败,所有命令都会执行。

&&: 顺序执行各条命令,只有当前一个命令执行成功的时候,才执行后面的。

||: 顺序的执行各条命令,只有当前门的一个命令执行失败的时候,才执行后面的。

变量的定义

Shell变量名以字母或者下划线开头,可包含任意数量的字母,数字或下划线。变量名中的字符数量没有限制。Shell变量保存的数据类型是字符串类型。

如下所示,变量赋值的方法是写入变量名,紧接着写入=和新值,中间不留空格。当需要访问Shell变量时,要在变量名前加上$字符。

$ myvar=this_is_a_long_string_that_does_not_mean_much Assign a value
$ echo $myvar Print the value
this_is_a_long_string_that_does_not_mean_much

当字符串中包含空格时,需要使用引号。

first=isaac middle=bashevis last=singer #Multiple assignments allowed on one line
fullname="isaac bashevis singer" #Use quotes for whitespace in value
oldname=$fullname #Quotes not needed to preserve spaces in value

正则表达式

正则表示符号含义
|
.匹配除换行符\n之外的任何单字符
*匹配前门的子表达式0次或者多次
匹配子表达式出现n到m次

"^" 和 "" 可以一起使用,此时括起来的正则表达式必须完全匹配整个字符串(或行)。有时候使用简单的正则表达式 "^" 也很有用,它匹配空字符串或空行。结合 grep 的 "-v" 选项,该选项用于打印所有不匹配模式的行,可以用来过滤掉文件中的空行。

cat test.txt | grep -v "^$" # remove empty lines

循环

Loading...