Bash Scripting - Write Output of Bash Command into Log File - GeeksforGeeks

28 Nov, 2021
Let there are some situations in which you have to save your output in a file ( generally called log file). Output can be user details ( username, password, Gmail, etc. ), products record ( buying or selling any goods ), or simply any kind of data that you can store in a log file. 
Example 1 :
In this example, we can store the names of two-person in a log file.
First, create a log file named ” Log.txt ” by the following command 
$ touch Log.txt
Note: ” Log.txt ” will store the output.
Now, create a bash script file by the following command
$ touch Name.sh
Note: ” Name.sh ” It is a bash script file that will take two names from the user and store it into ” Log.txt “
Now, open ” Name.sh ” in a text editor 
$ nano Name.sh
Now write the following bash script in ” Name.sh ” 
#!/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
Note: Here, ‘ > ‘ it will create a new file with a specified name if the file does not exist and it will use to overwrite the data stored in the file ( i.e. ” Log.txt “). And ‘ >> ‘ it will create a new file with a specified name if the file does not exist and it will append the output data in the file ( i.e. ” Log.txt ” )
Now save and run ” Name.sh ” by the following command
$ chmod +x ./Name.sh
$ ./Name.sh
Output : 
Output of Commands
As it is shown in the above picture that we take two inputs ” Sahil ” and ” Rakesh “. The output name will store in ” Log.txt “.
Output store in Log.txt
The above picture shows the ” Log.txt ” file that the output will store in the log file ( i.e. ” Log.txt ” ).
Example 2 :
In this example, we can store the student details
First, create a log file named ” Student_log.txt ” to store output using the below command
$ touch Student_log.txt
Now, create a bash script file by the following command
$ touch Student_details.sh
Now, open ” Student_details.sh ” in text editor
$ nano Student_details.sh
Now, write the following bash script in ” Student_details.sh ” 
#!/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
Note:  Here ” date ” command will show the date as well as the time of the execution of the ” date ” command
Now save and run ” Student_details.sh ” by the following command
$ chmod +x ./Student_details.sh
$ ./Student_details.sh
Output : 
Output Of Command
As it is shown in the above picture that we store the date of program execution and student details as well as their percentage. The output will store in ” Student_log.txt “.
Output Store in Student_log.txt
The above picture is show ” Student_log.txt “
Bash-Script
Picked
Linux-Unix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Thread functions in C/C++
Basic Operators in Shell Scripting
nohup Command in Linux with Examples
Array Basics in Shell Scripting | Set 1
chown command in Linux with Examples
mv command in Linux with examples
SED command in Linux | Set 2
Named Pipe or FIFO with example C program
scp command in Linux with Examples
Docker - COPY Instruction