Shell是
文章目录
前言
python
和shell
是两大较为常用的脚本语言,shell的优势是:
- 环境通用性高
- 入手简单
1、shell是什么?
shell
是基于C语言的,是用户和linux内核沟通的桥梁。当然这并不是说shell脚本是使用C语言编写的,shell是一个解释器,我们再基于这个解释器提供的shell语言编写shell脚本。
2、shell语法
2.1 如何书写一个shell脚本
- 名字要有意义,同时加上
.sh
结尾,以表示这是一个shell
脚本. - 文件开头指定shell
可执行文件
路径 #
是注释,但#!
不是chmod 700 test.sh + test.sh
orbash test.sh
#!usr/bin/bash
#Author:Lzg_na
#DateTime:2022.05.29
#Script Description:
echo 'hello world!'
2.2 shell中的特殊符号
符号 | 含义 |
---|---|
~ | home目录 |
- | 上次目录 |
!! | 上次命令 |
$ | 取变量内容 |
& | 后台执行 |
* | 通配符 |
? | 匹配一个字符 |
; | 分割多条命令 |
\ | 转义字符 |
` ` | 命令中执行命令 |
“” | 字符串 |
2.3 shell中的管道
管道符在shell中是非常常用的符号,管道符就是下一个命令对上一个命令的结果进行操作。
例:
cat etc/password |grep root
2.4 重定向
2.5 数学运算
expr 1 + 2 #加
expr 1 - 2 #减
expr 1 \* 2 #乘
expr 10 / 2 #除
expr 10 % 3 #取余
$? #得到上条命令的执行结果
expr 1 + 1.1 $>/dev/null ; echo$?
上述计算命令表达非常有限,可以使用(( ))
来进行数学运算.
echo $(( 1+1))
echo $(( 100*3))
echo $(( (1+2)*3 ))
2.5 退出脚本
退出时可以指定结果码,之后可以通过$?
得到脚本运行结果码
exit 10
exit 0
3. shell格式化输出
3.1 echo介绍
echo -[ne][字符串]
命令选项:
-n:不要在最后换行
-e:标识字符串以转义字符含义输出
3.1.1 转义字符
转义字符 | 含义 |
---|---|
\b | 删除前一个字符 |
\t | 制表符 |
\n | 换行 |
\r | 光标移至行首但不换行 |
3.1.2 颜色输出
echo -e "\033[背景色;字体色 字符 \033[扩展属性 "
字颜色:30-37
echo -e "\033[30m 黑色字符串 \033[0m "
echo -e "\033[30m 红色字符串 \033[0m "
echo -e "\033[30m 绿色字符串 \033[0m "
echo -e "\033[30m 黄色字符串 \033[0m "
echo -e "\033[30m 蓝色字符串 \033[0m "
echo -e "\033[30m 紫色字符串 \033[0m "
echo -e "\033[30m 天蓝字符串 \033[0m "
echo -e "\033[30m 白色字符串 \033[0m "
背景色
echo -e "\033[40;37m 黑底白字 \033[0m "
echo -e "\033[41;37m 红底白字 \033[0m "
echo -e "\033[42;37m 绿底白字 \033[0m "
echo -e "\033[43;37m 黄底白字 \033[0m "
echo -e "\033[44;37m 蓝底白字 \033[0m "
echo -e "\033[45;37m 紫底白字 \033[0m "
echo -e "\033[46;37m 天蓝底白字 \033[0m "
echo -e "\033[47;30m 白底黑字 \033[0m "
最后控制选项说明:
\033[0m #关闭所有
\033[1m #设置高亮
\033[4m #下划线
\033[5m #闪烁
本文含有隐藏内容,请 开通VIP 后查看