Bash 脚本 - 将 Bash 命令的输出写入日志文件
在某些情况下,您必须将输出保存在文件(通常称为日志文件)中。输出可以是用户详细信息(用户名、密码、Gmail 等)、产品记录(购买或出售任何商品),或者只是您可以存储在日志文件中的任何类型的数据。
让我们看看如何将 bash 命令的输出写入日志文件。
示例 1:
在此示例中,我们可以将两人的姓名存储在日志文件中。
首先,通过以下命令创建一个名为“Log.txt”的日志文件
$ touch Log.txt
注意: “Log.txt”将存储输出。
现在,通过以下命令创建一个 bash 脚本文件
$ touch Name.sh
注意: “name.sh”是一个bash脚本文件,它会从用户那里取两个名字并存储到“Log.txt”中
现在,在文本编辑器中打开“Name.sh”
$ nano Name.sh
现在在“Name.sh”中编写以下 bash 脚本
#!/bin/bash
echo "Enter First Person Name : "
# It will take input from user i.e.
# First Person Name
read FName
# It store First Person Name in Log.txt
echo "First Person Name : $FName">Log.txt
echo
echo "Enter Second Person Name : "
# It will take input from user i.e.
# Second Person Name
read SName
# It append Second Person Name in Log.txt
echo "Second Person Name : $SName">>Log.txt
注意:这里,' > ' 如果文件不存在,它将创建一个具有指定名称的新文件,并用于覆盖文件中存储的数据(即“Log.txt”)。而' >> '如果文件不存在,它将创建一个具有指定名称的新文件,并将输出数据附加到文件中(即“Log.txt”)
现在通过以下命令保存并运行“Name.sh”
$ chmod +x ./Name.sh
$ ./Name.sh
输出 :
如上图所示,我们采用两个输入“Sahil”和“Rakesh”。输出名称将存储在“Log.txt”中。
上图显示了输出将存储在日志文件中的“Log.txt”文件(即“Log.txt”)。
示例 2:
在这个例子中,我们可以存储学生的详细信息
首先,使用以下命令创建一个名为“Student_log.txt”的日志文件来存储输出
$ touch Student_log.txt
现在,通过以下命令创建一个 bash 脚本文件
$ touch Student_details.sh
现在,在文本编辑器中打开“Student_details.sh”
$ nano Student_details.sh
现在,在“Student_details.sh”中编写以下 bash 脚本
#!/bin/bash
# Save Date and Time of the bash script
# execution inside Student_log.txt
date>Student_log.txt
echo
echo "Student Details">>Student_log.txt
echo "Name Of Student : "
read Name
# Store Name in Student_log.txt
echo "Student Name : $Name">>Student_log.txt
echo
echo "Roll No. Of Student : "
read RNo
# Store Roll No. in Student_log.txt
echo "Roll No. : $RNo">>Student_log.txt
echo
echo "Marks Obtained : "
read OMarks
echo "Total Marks : "
read TMarks
# calculate Percentage
Percentage=$((OMarks*100/TMarks))
# Here it store Percentage in Student_log.txt
echo "Percentage : $Percentage">>Student_log.txt
注意:这里的“ date ”命令将显示日期以及“ date ”命令的执行时间
现在通过以下命令保存并运行“Student_details.sh”
$ chmod +x ./Student_details.sh
$ ./Student_details.sh
输出 :
如上图所示,我们存储了程序执行日期和学生详细信息以及他们的百分比。输出将存储在“Student_log.txt”中。
上图为显示“Student_log.txt”