shell编程

一、shell类型 /etc/shells

Shell类型 易学性 可移至性 编辑性 快捷性
Bourne shell(sh) 容易 较差 较差
Bourne Again shell(bash) 较好
C shell(csh) 较难 较好 较好
TC shell(tcsh)

二、shell执行方式

1、echo命令

​ 格式:echo 选项 输出内容

​ 选项:-e 支持反斜线控制的字符转换

​ -n 取消输出后行尾的换行符号

<1> -e支持的特殊符号

\t 制表符,也就是tab键 例:echo -e “a\ta\ta”

\n 换行符 例:echo -e “a\na\na”

​ \ \ 输出\本身

​ \a 输出警告音

​ \b 退格键,也就是向左删除键

​ \c 取消输出行末的换行符,和“-n”选项一样

​ \e ESAPAE键

​ \f 换页符

​ \r 回车键

​ \v 垂直制表符

​ \0nnn 按照八进制ASCII码表输出字符,其中0为数字零,nnn是三位八进制数

​ 例:echo -e “\0141\t\0142\t\0143\n\0144\t\0145\t\0146”

​ \xhh 按照十六进制ASCII码表输出字符,其中hh是两位十六进制数

​ 例:echo -e “\x61\t\x62\t\x63\n\x64\t\x65\t\x66”

<2>颜色显示

​ 格式:echo -e "\e[颜色号m文本\e[39/49/0m"

​ 文字颜色: 30=黑色,31=红色,32=绿色,33=黄色,34=蓝色,35=紫色,36=天蓝色,37=白色,39=结束

​ 底纹颜色: 40=黑色,41=红色,42=绿色,43=黄色,44=蓝色,45=紫色,46=天蓝色,47=白色,49=结束

​ 特殊的显示: \e[0m 关闭所有属性

​ \e[1m 设置高亮度

​ \e[4m 下划线

​ \e[5m 闪烁

​ \e[7m 反显

​ \e[8m 消隐

​ **注意:**多个条件之间用分号( ; )分隔开,同时生效。例: echo -e “\e[33;44;1;4;5mhello world\e[0m”

2、shell脚本执行方式

​ <1>创建脚本,一般以 .sh 作为脚本后缀,也可以不写。

​ <2>脚本执行方式:1. 添加 x 执行权限 例:chmod +x hello.sh ./hello.sh

​ 2. 用bash命令,调用脚本文件 例:bash hello.sh

三、Bash基本功能

1、 历史命令的查看

​ 命令:history [选项]

​ -c 清空历史命令

​ -w 把缓存中的历史命令保存到历史命令配置文件

2、 历史命令的调用

​ <1>使用上、下光标键调用

​ <2>使用 “!n”,重复执行第n条历史命令

​ <3>使用 “!!”,重复执行上一条命令

​ <4>使用 “!字符”,重复执行最近一条以此字符开头的命令

3、命令与文件名的补全

​ 使用tab按钮,提供了如命令补齐、路径补齐等功能

注意:补齐功能有时候会将目录结尾处自动补上 / 符号,导致系统识别出现问题,从而报错

4、命令别名 alias

​ 格式:alias 别名=’ 原命令 [选项] ’

别名相关配置文件(永久保存别名)

​ 单个用户生效:~/.bashrc

​ 所有用户生效:/etc/bashrc

​ 注:别名命令的优先级更高,如:执行ls,优先执行的ls的别名

5、不同类型的命令执行的顺序

​ NO.1 用绝对路径或相对路径的方式执行命令

​ NO.2 别名命令

​ NO.3 bash 内置命令

​ NO.4 根据环境变量定义的目录查询找到的命令

6、Bash 常用快捷键

在这里插入图片描述

7、输入输出重定向

​ bash的标准输入输出

设备 设备文件名 文件描述符 类型
键盘 /dev/stdin 0 标准输入
显示器 /dev/stdout 1 标准正确输出
显示器 /dev/stderr 2 标准错误输出

​ 输出重定向

​ 命令 &> 文件 &: 表示标准正确输出1标准错误输出2

​ 命令 &>> 文件

​ 输入重定向(cpio/wc/…)

​ 命令:wc [选项] [文件名]

​ -c 统计字数(字符)

​ -w 统计单词数(字符串)

​ -l 统计行数

8、多命令顺序执行

多命令执行符 格式 作用
命令1 ; 命令2 多个命令顺序执行,命令之间没有任何逻辑联系
&& 命令1 && 命令2 当命令1正确执行( ? = 0 ) , 命 令 2 才 会 执 行 < b r / > 当 命 令 1 执 行 不 正 确 ( ?=0),命令2才会执行 <br />当命令1执行不正确( ?=02<br/>1?≠0),命令2不会执行
|| 命令1 || 命令2 当命令1执行不正确( ? ≠ 0 ) , 命 令 2 才 会 执 行 < b r / > 当 命 令 1 正 确 执 行 ( ?≠0),命令2才会执行<br />当命令1正确执行( ?=0,2<br/>1?=0),命令2不会执行

​ `反引号` 把某命令的结果取出来等于某变量

​ == 判断

​ = 赋值

9、grep 命令

​ 格式:grep [选项] “关键词” 文件名 #行提取命令

​ -A 数字:列出符合条件的行,并将连续列出后续n行

​ -B 数字:列出符合条件的行,并将连续列出前面n行

​ -c :统计包含字符串的行一共几行!

​ -i :忽略大小写

​ -n :输出行号

​ -v :反向查找(取反)

10、find与grep

​ find 是在系统中查找符合条件的文件名,默认是完全匹配,如果需要模糊查找使用通配符。

​ grep 是在文件中查找符合条件的字符串,是包含匹配,如果需要精确查询,需要使用正则表达式

​ # grep查询关键词时,只要包含关键词的行都被显示

​ 通配符:

通配符 作用
? 匹配一个任意字符
* 匹配0个或多个任意字符
[] 匹配中括号中任意一个字符 例:[abc] 匹配一个a或b或c
[-] 匹配中括号中任意一个字符,- 代表一个范围
[^] 逻辑非,表示匹配一个不是中括号内的一个字符

11、管道符 |

​ 格式一:命令1 | 命令2

​ 格式二:命令1 |xargs 命令2 将命令1的标准输出当做命令2的执行参数,逐个处理

12、Bash中的特殊符号

1、引号类:" " ’ ’

​ 单引号:所有的字符都是普通字符,没有任何的特殊功能{取消了所有符号的特殊功能}
​ 双引号:仅保留了一部分符号的特殊功能( $ \ ),绝大多数的符号被取消了特殊含义

​ 调用变量时用双引号引起来:echo “$PATH”

2、调用命令的结果:`` 、 $( )

​ 反引号:将命令执行,并保存其结果,可以将结果保存到某变量中
​ $() :作用与反引号一样

3、大小括号的功能:( ) { }

​ 小括号:在小括号内执行的动作,是在一个独立的bash解析器中执行的,并不会对当前的bash解析器造成影响。 就相当于两个不用的用户都登录后,各自的操作只对当前自己的环境生效。
小括号所开启的bash解析器只用来临时执行某命令,执行完成后,关闭解析器。
​ 格式

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮-00

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值