24.7.16学习目录
一.命令
1.作业脱机管理
- 将作业切换到后台可以避免由于误操作[ctrl]+c等导致job异常中断的情景,脱机管理主要是针对终端异常断开的情形
- 通常使用nohup命令来使脱机或注销后,job依旧可以继续运行
- 后面添加&符号可以将job放在后台运行
# 将job放入到后台处理,并指定日志文件
nohup ./echo_time.sh >temp2.log 2>&1 &
# 显示所有的job
jobs
2.screen命令
- 用于命令行终端切换的自由软件,用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换
- 其主要作用:
- 只要Screen本身没有终止,在其中运行的会话都可以回复
- 可以实现多窗口之间的切换
语法:
screen [参数]
# 创建会话(-m强制)
screen -dmS 名字
# 关闭会话
screen -X -S 名字
# 查看所有会话
screen -ls
# 进入会话
screen -r 名字
参数 | 作用 |
---|---|
-S | 指定作业的名称 |
-A | 将所有视窗调整为目前终端机的大小 |
二.变量
1.自定义变量
- 变量名=变量值 (区分大小写)
- 查看变量:echo $变量名
- 取消变量:unset 变量名
- 作用范围:当前shell
2.环境变量
- 定义环境变量
- 方法一:export 变量名=变量值
- 方法二:export 变量名(将自定义变量名转化为环境变量)
- 查看变量:echo $变量名
- 取消变量:unset 变量名
- 作用范围:当前shell和子shell
3.位置变量
用于在执行脚本时给脚本中的变量赋值
bash 脚本名 变量值1 变量值2
4.变量的赋值方法
- 显示赋值:变量名=变量值
- read从键盘读入变量值
- read -p “提示语句” 变量名
- 限制n秒输入内容:read -t n -p “提示语句” 变量名
- 限制获取2个字符:read -n 2 变量名
5.定义引用变量
- 弱引用:" "
- 强引用:‘’
school=100
echo "${shool} is good"
#输出的结果为:100 is good
echo '${shool} is good'
#输出的结果为:${shool} is good
- 反引号 ` 用于需要使用命令获取变量的时候,也可以使用$(命令)
6.变量运算
1.整数运算方法:
-
expr 变量 运算符 变量
- 变量与运算符之间需要有空格
- 乘法需要前面需要有转义运算符
-
$((运算公式))
- 该方法前面需要使用到echo打印出结果
-
$[运算公式]
- 该方法前面需要使用到echo打印出结果
-
let 运算公式
2.小数运算:
# scale用于表示保留小数点后n位
echo "scale=n;运算公式" | bc
7.变量值的删除和替换
1.值的删除:
url=www.baidu.com
# 使用#号来计算变量值的长度
echo ${#url}
# 使用两个#号表示最后匹配,会删除匹配前的所有数据
echo ${url##*.}
com
# 使用一个#最先匹配,删除匹配前的所有数据
echo ${url#*.}
baidu.com
# 使用%号做从后往前的匹配,#是做从前往后
echo ${url%.*}
2.索引切片
# 从0开始打印出5个字符
echo ${url:0:5}
3.内容的替换
# 将url中的cn替换为gov
echo ${url/cn/gov}
4.变量内容的替代
# 将url中的值替换为aaa
echo ${url+aaa}
# 临时将url的值替换为aaa,当打印url值还是之前的值
echo ${url:+aaa}