Shell 笔记:脚本结构和变量
Shell 笔记
最近在整理自己的Linux 配置文件到 dotfiles 仓库,想要写一份自动配置脚本方便自动化配置
脚本结构
第一行要指定运行时使用的Shell,如 bash
, zsh
, sh
, 我使用的是zsh
1 | !/bin/zsh |
同时,这里指定的 Shell 也是支持 Python 的,只需要改成
1 | !/bin/python3 |
因为想学一下 Shell脚本,所以并没有指定成Python运行
变量
声明变量
变量声明和 Python 类似
1 | var=0 # 符号之间不要空格,否则Shell会把 var 当作命令执行,并报错 command not found: var |
如果想要让这个变量不仅在这个脚本中可见,脚本执行完成之后仍然存在,可以使用 export
1 | export var=0 # 同样的等号两边不允许使用空格 |
可以使用 readonly
标记某个变量为常量只读
1 | var=100 |
调用变量
使用一个定义过的变量,在变量名前面加美元符号,可以在变量名两边加花括号 {}
1 | var=100 |
最好不要使用内置关键字、命令的名字定义变量
顺序结构
最简单的逻辑结构就是顺序结构,在 Shell 中只需要简单地写命令即可,一行一条命令;也可多条命令写在一行,使用分号 ;
分割
1 | var="Hello Zsh" |
执行后输出