Shell day01
- 常用快捷键
- 重定向
Ø 命令 > a.txt (将命令执行的结果,存入到a.txt文件中)
Ø ls -l none.txt /opt/ 2> error.txt(重定向标准错误,其中none.txt不存在,此命令会将错误信息存储在error.txt中)
Ø 使用2>>进行追加重定向错误输出
Ø 正常输出、错误输出重定向到同一个文件,可使用&>
- Shell脚本
Set 变量=变量值 //变量赋值
Unset 变量 //取消赋值
Set //查看所有变量
注:变量赋值时,等号左右两边不能有空格
-
位置变量与预定义变量
-
如何执行一个未设置x权限的shell脚本?
Ø .脚本文件路径
Ø Sh脚本文件路径
Ø Source脚本文件路径
- 3种引号对变量赋值的影响
Ø 双引号可以界定一个完整的字符串
Touch “aa bb ”
Ø 单引号可以界定一个完整的字符串,并屏蔽特殊符号
Ø 反撇号或$(),将命令的标准输出作为字符串存储
tar –czf log-date +%Y%m%d
.tar.gz /var/log
- 预定义变量$ 、 、 、?、 0 、 0、 0、#、 ∗ 、 *、 ∗、!的作用
$! 后台(最后一个进程)的PID号
- Read命令从键盘读取变量值
read str //执行后会等待并接受用户输入,并将用户输入内容赋值给str
read –p “请输入一个整数:” -i
- stty –echo //关闭回显功能
stty echo //打开会先功能
注释:会先功能相当于执行命令的回车键
- export发布全局变量
局部变量只适用于当前shell环境,在子shell环境中无法正常使用
bash //命令可进入子shell环境
若项让定义的变量能被子进程使用,需要使用export命令将其发布为全局变量
-
整数运算工具
-
expr //整数运算工具
X=1234
expr $X + 78 //expr在执行四则运算时,运算符的左右两边需要用空格隔开
expr $X * 78 //expr在进行乘法运算时需要用\转义
//除法,仅保留整除结果
- [ ] 和 []和 []和(()) //整数运算工具
X=1234
Echo $[X+78] //运算符左右两边无需空格,乘法运算无需转义
- Let (expr或 [ ] 、 []、 []、(())方式只进行运算,并不会改变变量的值;而let命令可以直接对变量值做运算再保存新的值)
let X++; echo $X # X++(X=X+1)
- bc 支持小数和整数的运算工具
Ø bc交互式运算
安装bc相关软件包
执行bc命令接入交互模式
Ø bc非交互式运算
echo “scale=4,3.12+2.13” | bc //scale表示精确到几位小数