加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:19:03 所属栏目:百科 来源:网络整理
导读:grep [optinos] "pattern" file... 基本: 字符匹配:.,[][^] 次数匹配: ,?,{m},{m,n} 位置锚定:,b,,^,$ 分组:() 前向引用:1,2 扩展: 字符匹配:.,[][^] 次数匹配: ,?,n},+ 位置锚定:,$ 分组:() 前向引用:1,2 或a|b 条件判断 if condit
grep [optinos] "pattern" file...
基本:
字符匹配:.,[][^]
次数匹配: ,?,{m},{m,n}
位置锚定:&;,b,&;,^,$
分组:()
前向引用:1,2
扩展:
字符匹配:.,[][^]
次数匹配:
,?,n},+
位置锚定:&;,$
分组:()
前向引用: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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读