missing semester 第二课课后作业

文章详细介绍了两个Bash脚本,一个用于保存并回溯工作目录,另一个用于检测并记录buggy.sh中的错误,强调了错误处理和日志追加的重要性。
摘要由CSDN通过智能技术生成
 #!/bin/bash
 marco(){
     echo "$(pwd)" > $HOME/marco_history.log #将pwd的值传给新建的marco_history.log文件
     echo "save pwd $(pwd)"
 }
 polo(){
     cd "$(cat "$HOME/marco_history.log")"#调取文件的内容,也就是运行marco时的$(pwd)
 }

第三题`

 #!/usr/bin/env bash
 count=0
 echo > out.log

 while true
 do
     ./buggy.sh &>> out.log #将标准输出和错误输出都追加输出到out.log,不会覆盖之前的
     if [[ $? -ne 0 ]]; #then,如果输出错误
         cat out.log #显示out日志
         echo "failed after $count times"
         break
     fi
     ((count++))#计数

 done
#buggy.sh

 #!/usr/bin/env bash

 n=$(( RANDOM % 100 ))

 if [[ n -eq 42 ]]; then
     echo "Something went wrong"
     >&2 echo "The error was using magic numbers"
     exit 1
 fi

 echo "Everything went according to plan"
  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值