I'm creating my first script using "The Advanced Bash Scripting Guide".
One of the exercises asks for a script that, once run, saves the output to a log file.
I've managed to create my first basic script but am having trouble with this last part. The script must contain the code to create the logfile but I can only do it separately in the shell.
The file is called myFirstShellScript.txt. When I run ./myFirstShellScript.txt the script runs. After the script runs if I type ./myFirstShellScript.txt > myFirstShellScriptLog
in the shell the new file is created with the output. Now, I tried to add this line within the script but the file that was output was blank.
Here's my first script, please don't laugh.
#! /bin/bash
# show todays date and time
echo "Todays date is $(date +%j)."
# Show who is currently logged into the system
echo $(who)
# show system uptime
echo $(uptime)
# log output in separate file using redirect
exit
What do I have to do (In as simple English as possible) to have the script create the output file by itself, rather than having to do separately in the shell once run?
usually enough enclose the parts to (
)
, like:
#!/bin/bash
(
# show todays date and time
echo "Todays date is $(date +%j)."
# Show who is currently logged into the system
echo $(who)
# show system uptime
echo $(uptime)
) > myFirstShellScriptLog
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With