文章目录
shell概述
shell是一个命令行解释器,它接收应用程序/用户的指令,调用操作系统内核
shell还是一个功能强大的编程语言,易编写,易调试,灵活性强
shell解析器
Linux提供的shell解析器:
/etc/shells/bin/sh/etc/shells/bin/bash/etc/shells/sbin/nologin/etc/shells/bin/dash/etc/shells/bin/csh/etc/shells/bin/tcsh
shell脚本入门
脚本格式
- 脚本要以
#!bin/bash开头,其含义为指定解析器
helloworld
创建helloworld.sh文件,写入如下
#!/bin/bash
echo "hello world!"
脚本的执行
- 采用bash或 sh 路径
sh helloworld.sh
bash helloworld.sh
- 采用输入脚本的绝对路径或相对路径执行脚本(需要有可执行权限+X)
# 赋予权限
chmod 777 helloworld.sh
# 执行
./helloworld.sh
- 多命令处理
# 在/data目录下创建一个test.txt且添加:hello test
#!bin/bash
cd /data
touch test.txt
echo "hello test ">> test.txt
shell中的变量
系统变量
常用系统变量
$HOME,$PWD,$SHELL,$USER等
自定义变量
基本语法
- 定义变量:
变量=值 - 撤销变量:
unset 变量 - 声明静态变量:
readonly 变量
变量定义规则
- 变量名可以由字母、数字、下划线组成,但是不能以数字开头。环境变量名建议大写
- 等号两侧不能有空格
- 在bash中,变量默认类型都是字符串类型,无法直接进行数值运算
- 变量的值如果有空格,需要使用双引号或单引号括起来
特殊变量
$n
n为数字,$0代表给脚本名称,$1- 9 代 表 第 一 到 第 九 个 参 数 , 十 以 上 的 参 数 , 十 以 上 的 参 数 需 要 用 大 括 号 包 含 , 如 9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如 9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如{10})
∗ 和 * 和 ∗和@
$*这个变量代表命令行中所有参数,把所有参数看成一个整体$@代表命令行中所有的参数,但是把所有参数分开对待
$?
最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;
如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。
运算符
基本语法:
$((运算式子))或$[运算式子]expr +加(减、乘、除、取余与之类似)
