记录成功命令的日志。

3

我对于写脚本非常新手,但是很享受这个过程。目前,我的一门课要求我们提供所有实验命令的日志文件。到目前为止,我只是使用"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传递指令的方法。我似乎不能让脚本识别我想要的指令的退出代码,因为每次运行时它都会捕捉执行脚本的成功指令。 提前感谢您查看我的业余技能,并对浪费任何人的时间表示抱歉。

在Bash 5.1中可以很好地完成。你使用的是哪个版本的Bash? - oguz ismail
测试命令返回的简单方法是 ls -al && echo "ls -al" >> success.log || echo "ls -al" >> fail.log(注意:如果将写入错误写入 success.log,则也会写入 fail.log(虽然不太可能发生,但了解 a && b || c 的限制很好)。 - David C. Rankin
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,