Shell
- Shell 是管理命令行的程序(包在内核外的壳)
- 不同Shell版本演化关系如下,一般Linux中会自动安装Sh和Bash(Bash比Sh好写,Zsh最好用)
- .bashrc:Bash 的配置文件
- 安装Ksh
- sudo apt install ksh
- 切换Shell
- chsh
- 运行脚本(必须在脚本目录中)
- ./test.sh
- 调试脚本
- bash -x test.sh
变量
- echo:在终端上显示传入的信息
- -e:转义字符生效
- echo -e "First line\nSecond line"
- $:访问变量
- echo $message
- -e:转义字符生效
- 引号
- ‘...’:忽略所有特殊字符
- "...":忽略除 $,`,\ 外的特殊字符
- `....`:在脚本中执行命令
- read:读取用户输入信息
- read name
- echo "Hello $name !"
- -p:显示提示信息
- -n:限制输入字符数目
- -t:限制输入时间
- -s:隐藏输入内容(如输入密码)
- 环境变量
- env:显示所有环境变量
- SHELL:当前使用哪种Shell
- PATH:可执行文件的路径
- HOME:家目录所在路径
- PWD:当前目录
- export:将属性赋值给变量
- 脚本参数
- $0:脚本名称
- $1,$2...:传递给脚本的参数
- $#:参数的数目
循环
- while
- until
- for
函数
- 定义
- 函数名() { 函数体 }
- function 函数名{ 函数体 }
- 注意
- 圆括号中不可放置参数
- 函数定义置于调用之前
- 重载命令
- 把函数名取成与命令行命令相同的名字
参考
Shell脚本编程
http://www.ruanyifeng.com/blog/2020/04/bash-tutorial.html
Shell脚本中$0、$?、$!、$$、$*、$#、$@