我对于写脚本非常新手,但是很享受这个过程。目前,我的一门课要求我们提供所有实验命令的日志文件。到目前为止,我只是使用"history > file.txt"命令记录所有操作。但是,这种方法也记录了我所有的笔误,这对我来说是一个问题。虽然这种方法不会影响我的成绩,但是我非常渴望学习尽可能多的知识。
总之,我希望有办法可以在我执行成功的命令时进行分类和日志记录。我编写了一个脚本来实现这个功能,但是它会带来很多限制。我希望能够得到一些帮助,指引我正确的方向。
#!/bin/bash
logger(){
read usr_command
$usr_command
exit_code=$?
if [ "$exit_code" -eq 0 ]; then
echo "yea"
else
echo "nah"
fi
}
while true; do
logger
done
显然,我需要编写指令将它们分析后传输到文件中,但我真正寻找的是一种不通过read
传递指令的方法。我似乎不能让脚本识别我想要的指令的退出代码,因为每次运行时它都会捕捉执行脚本的成功指令。
提前感谢您查看我的业余技能,并对浪费任何人的时间表示抱歉。
ls -al && echo "ls -al" >> success.log || echo "ls -al" >> fail.log
(注意:如果将写入错误写入success.log
,则也会写入fail.log
(虽然不太可能发生,但了解a && b || c
的限制很好)。 - David C. Rankin