Shell 笔记
本文最后更新于 2024年12月30日 下午
Shell 历史
Ken Tompson Shell
sh是第一个 Unix ShellBourne Shell
Bourne Again Shell
/bin/bash
C Shell
是一种比 Bourne Shell更适合的变种 Shell,它的语法与 C 语言很相似。
/usr/bin/csh
Korn Shell
集合了 C Shell 和 Bourne Shell 的优点并且和 Bourne Shell 完全兼容。
/usr/bin/ksh
变量
定义
变量名和等号之间不能有空格
1 | |
除了显式地直接赋值,还可以用语句给变量赋值
1 | |
使用变量
使用一个定义过的变量,只要在变量名前面加美元符号,花括号是可选的
1 | |
只读变量
使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。
1 | |
删除变量
1 | |
类型
字符串
- 单引号字符串,只会输出字符串内的原内容,单引号里面的单引号可以拼接字符窜
- 双引号字符串
整数
使用 declare 或 typeset 命令来声明整数变量。
如果尝试将非整数值赋给它,Shell会尝试将其转换为整数
1
declare -i myint=1数组
整数索引数组
1
my_array=(1 2 3 4 5)关联数组
1
2
3declare -A associative_array
associative_array["name"]="John"
associative_array["age"]=30
环境变量
特殊变量
$0:脚本名称$1,$2...:脚本参数$#:脚本参数数量$?:上一条命令退出状态
字符串
字符串长度
1 | |
提取字符串
输出从 1 开始的 4 个字符
1 | |
比较命令
test
$[...] 用于数值计算
- 比较整数
- -eq
- -ne
- -gt
- -lt
- 比较字符串
- 比较文件
- -e:文件是否存在
- -f:文件是否存在且为普通文件
- -d:文件是否存在且为目录
[
与test 命令相似
Shell 笔记
http://blog.kdata.top/2024/07/14/计算机技术/编程语言/Shell/