grep、正则、if、bash条件测试、vi

grep [optinos] "pattern" file...
基本:
字符匹配:.,[][^]
次数匹配:,\?,{m},{m,n}
位置锚定:\<,\b,\>,^,$
分组:()
前向引用:\1,\2
扩展:
字符匹配:.,[][^]
次数匹配:
,?,{m},{m,n},+
位置锚定:\<,\b,\>,^,$
分组:()
前向引用:\1,\2
或a|b
条件判断
if condition;then
statement1
....
fi
if condition;then
分支1;
else
分支2;
fi
if condition;then
分支1;
elif condition;then
分支2;
...
else
分支n;
fi
条件测试:
bash :每个命令,执行状态都有返回值
? 成功:0
? 失败:非0
$?:echo $?脚本的状态返回值,脚本执行的最后一条命令;
exit [n]:自定义脚本状态返回值
command,$(command):引用命令的执行结果
? 引用命令执行成功与否的状态结果:一定是直接执行命令。此时,通常需要将执行结果重定向至/dev/null
条件测试:
test 测试表达式
[ 测试表达式 ]
[[ ]]:bash中的关键字
bash的知识点:
组合条件测试:对条件做逻辑运算
与:条件1 && 条件2,隐藏条件,如果条件1为真,则执行条件2;
条件1为假,则最终结果一定为假,否则,条件2不予执行
条件1为真,则最终条件结果决于后面条件,因此,条件2必须执行
或:条件1 || 条件2,隐藏条件,如果条件1为假,则执行条件2;
条件1为真,则最终结果一定为真,否则,条件2不予执行
条件1为假,则最终条件结果决于后面条件,因此,条件2必须执行
非: ! 条件;
与的优先级大于或,或的优先级大于非
bash编程之:字符测试,一般加引号
双目:

: 大于
< :小于
==:等于,等值比较
=~:左侧是字符串,右侧是一个模式,判断左侧的字符串能否被右侧的模式所匹配:通常只在[[]]中使用
模式中可以使用行首、行尾锚定符,但是模式不要加引号
判定字符串是否满足需求
!=, <>: 不等于
单目:
-n 字符串: 字符串是否不空,不空为真,空则为假
-z 字符串:字符串是否为空,空则为真,不空则假:

[ "stringA" == "stringB" ] 变量带引号,若变量为null,则不带引号会报错;

read -p "please input usename :" username
if ! grep ^$username/> /etc/passwd &> /dev/null;then
exit 7
elif
[[ grep ^$username/&gt; /etc/passwd |cut -d:-f7 =~ /bin/shell ]];then
echo "bash user"
exit 0
else
echo "not bash user"
exit 1
vi 编辑器
Linux:使用文本文件来保存配置文件
文本编辑器:ASCII文件
emacs vi
vi:Visual Interface
全屏文本编辑,nano
模式化的编辑器
moduler
vim :vi improved
vi的模式:
编辑模式:键盘操作通常被解析为编辑命令:
输入模式:
末行模式:vim的内置的命令行接口,执行vim内置命令
编辑模式-->输入模式
i:当前光标处输入内容
I:在当前光标所在行的行首
a:在当前光标所在处的后面
A:在当前光标所在行的行尾输入
o:在光标所在行的下方新增一行空白行
O:在光标所在行的上方新增一行空白行

输入模式-->编辑模式
ESC

原文地址:http://blog.51cto.com/9978527/2120895

时间: 2024-10-11 10:10:26

grep、正则、if、bash条件测试、vi的相关文章

bash条件测试

占位:bash条件测试

bash脚本编程之条件判断、条件测试

脚本编程: 编程面向过程有如下几种执行方式 顺序执行 选择执行:  如 if, case 循环执行:  如 for, while, until bash的变量类型: 本地变量 set VAR_NAME=value 设置变量赋值 如: set User=Centos unset VAR_NAME 撤消变量赋值 如: unset User=Centos ${VAR_NAME} 作用范围:当前shell进程: 局部变量 local VAR_NAME=value 设置变量赋值 unset VAR_NAM

谢烟客---------Linux之Bash基础特性条件测试&&自定义退出状态码(6)

条件测试 判断某需求是否满足,需要由测试机制来实现. 根据命令的执行状态结果,表达不同的测试条件 1.根据id命令的执行状态结果,判断用户是否存在 [[email protected] ~]# id root uid=0(root) gid=0(root) groups=0(root) [[email protected] ~]# echo $? 0 [[email protected] ~]# id help id: help: no such user [[email protected] 

19.自学Linux之路:bash条件的逻辑运算与bash编程之字符测试

课前复习:求出200以内能被3整除的整除之和 #!/bin/bash declare -i sum=0 for i in {1..200};do if [ $[$i%3] -eq 0 ]; then let sum+=$i fi done echo "The sum is: $sum" bash的知识点: 给条件测试:对条件做逻辑运算 与:条件1 && 条件2 或:条件1 || 条件2 非:!条件 例:#userName=root #id $userName &

bash Shell条件测试

3种测试命令: test EXPRESSION [ EXPRESSION ] [[ EXPRESSION ]]  注意:EXPRESSION前后必须有空白字符 bash的测试类型 数值测试: -eq:是否相等 -ne:是否不等 -ge:是否大于等于 -le:是否小于等于 -gt:是否大于 -lt:是否小于 字符串测试: =或==:是否等于 >:是否大于 <:是否小于 !=:是否不等于 =~:左侧字符串是否能够被右侧PATTERN所匹配 [[  ]]中使用 -z "STRING&quo

bash脚本编程之变量、变量类型、条件测试、算术运算、及特殊变量

一.学习目的 1.了解bash脚本的变量类型及变量的使用 2.了解bash中条件测试的种类及如何在bash中实现条件的判断 3.学会在bash中做算术运算 4.了解特殊变量的使用 二.学习内容 1). ①.bash的变量类型: 环境变量 .本地变量.局部变量.位置变量.特殊变量 环境变量: export VALUENAME = VALUE 作用领域是当前的shell进程及其子进程 本地变量: VALUENAME= VALUE 作用领域为整个bash的进程 局部变量:local VALUENAME

BASH常用条件测试

bash常用条件测试 1.整数测试 -gt 是否大于 -le 是否小于等于 -ne 是否不等于 -eq 是否等于 -ge 是否大于等于 -lt 是否小于 [[email protected] ~]# in=2 [[email protected] ~]# en=3 [[email protected] ~]# [ $in -eq $en ] [[email protected] ~]# echo $? 1 #$?是用来查看上一条命令执行状态;0位true 1或1以上都是为false [[emai

bash脚本基础入门之条件测试

在运行bash命令的时候,无论成功还是失败都会返回为用户返回一个执行的结果,通常把他叫做退出状态码,每当我们运行命令的时候,退出状态码都会被记录在$?变量中,在命令行echo $?可以查看命令的执行结果,成功的值为0,失败的值为1-255之间的某个值. 注:在shell脚本中,退出状态码记录的是脚本最后一条命令,为方便检查脚本错误,可以使用exit #自定义退出状态码. shell结构化命令中,如if...then语句.while...do...done语句等的CONDITION条件都是以命令的

linux命令中bash常用的条件测试:整数测试eq,文件测试-e,字符串测试==

测试方法:expression: 表达,表示 [ expression ] [[ expression ]] test expression  bash中常用的条件测试有三种:  1.整数测试:      -eq 等于      -lt 小于      -ne 不等于      -gt 大于      -le 小于等于      -ge 大于等于 integer:整数      INTEGER1=63     INTEGER2=77     [ $INTEGER1 -eq $INTEGER2 ]