#!/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"