gpt4 book ai didi

linux - 如何从脚本创建简单的日志文件

转载 作者:太空宇宙 更新时间:2023-11-04 05:46:52 26 4
gpt4 key购买 nike

我正在尝试创建一个名为“users.txt”的简单日志文件,其中包含输入的用户名、全名和主目录。我还想包括脚本最初运行的时间。

有什么建议吗?

脚本名称为catbash.sh

我尝试过诸如此类的事情catbash.sh > user.txt

但我不知道如何获取具体信息等。

clear
LOGFILE=/home/student/gg193/FileTypes/TextFiles/ShellScripts/user.txt

read -p "What is your username?" username
read -p "May I know your name please? " name surname

echo "$(date) $username $name $surname $LOGFILE" >> $LOGFILE

TIME=$(date "+%H")

if [ $TIME -ge 0 -a $TIME -lt 12 ]
then
echo "\nGood Morning, $surname"
elif [ $TIME -ge 12 -a $TIME -lt 18 ]
then
echo "\nGood afternoon $surname"
else
echo "\nGood evening $surname"
fi

echo "1. nonblank\n2. number\n3. ends\n4. nends\n"

while :
do
read INPUT_STRING
case $INPUT_STRING in

nonblank)
NonEmptyLine=$(cat catbash.sh | sed '/^\s*$/d' | wc -l)
echo "\nNumber of Non-Empty Lines are:" $NonEmptyLine
break
;;
number)
EmptyLine=$(grep -cvP '\S' catbash.sh)
echo "\nNumber of Empty Lines are:" $EmptyLine
break
;;
ends)
echo "================================================================================="
sed 's/$/$/' catbash.sh
echo "================================================================================="
break
;;
nends)
NonEmptyLine=$(cat catbash.sh | sed '/^\s*$/d' | wc -l)
echo "\nNumber of Non-Empty Lines are:" $NonEmptyLine
EmptyLine=$(grep -cvP '\S' catbash.sh)
echo "\nNumber of Empty Lines are:" $EmptyLine
echo "================================================================================="
sed 's/$/$/' catbash.sh
echo "================================================================================="
break
;;
*)
echo "\nSorry, I don't understand"
;;
esac
done

DURATION=$(ps -o etime= -p "$$")
echo "\nAmount of time that has passed since the script was initially executed:" $DURATION

echo "\nThanks for using catbash.sh!"

最佳答案

您必须从 sh 脚本内部进行日志记录。例如,您可以在终端上echo您想要的信息(您已经在这样做),然后附加| tee -a $LOGFILE (在顶部定义 LOGFILE,这样如果您需要不同的文件名/位置,只需更改一次)。

作为进一步的改进,您可以考虑定义自己的记录器函数,甚至探索现有的记录器函数。例如,一个更简单的记录器函数可能需要 2 个参数 - 消息、文件名。消息本身可以由用户名、日期/时间戳等组成。

根据您问题中当前的信息,这是我可以给出的最佳指示。

关于linux - 如何从脚本创建简单的日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55597808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com