shell script
Shebang
1 |
|
执行方式
1 | # 在当前进程执行, 所赋值的变量会保留 |
字符串内执行命令用 ``
- cat test.sh
1
2
3
echo "Current time: `date`"; - bash test.sh
1
Current time: Wed 24 Aug 2022 05:58:00 PM CST
print user info
1 | echo "User name is: $USER"; |
特殊符号
取出当前变量的值
1
2${vars}
$vars在括号``中执行命令, 且得到执行结果
1
2$(cmd)
`cmd`开启子shell执行命令
1
(pwd; ls; type;)
三目运算
- 语法: [ cmd ] && cmd || cmd
1 | count=1 |
双小括号 (())
- (()): 只会计算, 并没有结果
- $(()): 计算后返回结果
1 |
|
内置命令 / 外置命令
- 内置命令:
- 系统启动就加载入内存, 效率高, 占资源
- 不会开启子进程执行
- 内置命令和 shell 是一体的, 是shell的一部分
- 查看所有内置命令:
1
compgen -b
- 外置命令:
- 需要从硬盘加载, 读入内存
- 一定会开启子进程执行
- 可能存在如下目录:
1
2
3
4/bin
/usr/bin
/sbin
/usr/sbin
- 通过 type 来查看 内置 / 外置
1
type ps