📌  相关文章
📜  Bash 脚本 - 将 Bash 命令的输出写入日志文件

📅  最后修改于: 2022-05-13 01:57:33.424000             🧑  作者: Mango

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”文件(即“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 中的输出存储

上图为显示“Student_log.txt”