shell学习2

一.命令

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}

搞钱的第十四天,加油

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值