Bird
Raised Fist0
Bash Scriptingscripting~5 mins

Report generation script in Bash Scripting - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main purpose of a report generation script in bash?
To automatically collect data, process it, and create a formatted report file without manual steps.
Click to reveal answer
beginner
Which bash command is commonly used to write output to a file in a report script?
The 'echo' command combined with redirection operators like '>' or '>>' is used to write or append output to a file.
Click to reveal answer
beginner
How can you include the current date and time in a bash report?
Use the 'date' command, for example: $(date) to insert the current date and time into the report.
Click to reveal answer
intermediate
Why is it useful to check if a file exists before writing a report in bash?
To avoid overwriting important data accidentally or to decide whether to append or create a new report file.
Click to reveal answer
beginner
What does the '>>' operator do in a bash script?
It appends output to the end of a file without deleting the existing content.
Click to reveal answer
Which command adds the current date to a report file in bash?
Acat date >> report.txt
Bdate > report.txt
Cecho "$(date)" >> report.txt
Dls -l >> report.txt
What does the '>' operator do in a bash script?
AOverwrites a file with new output
BAppends output to a file
CReads from a file
DDeletes a file
How do you check if a file named 'report.txt' exists in bash?
A[ -f report.txt ]
Bif file report.txt
Cexists report.txt
Dtest report.txt
Which command appends text 'Hello' to a file named 'output.txt'?
Aecho Hello > output.txt
Bwrite Hello output.txt
Ccat Hello >> output.txt
Decho Hello >> output.txt
What is a good reason to automate report generation with a bash script?
ATo make reports harder to read
BTo reduce manual work and avoid errors
CTo delete important data
DTo slow down the system
Explain the basic steps to create a simple report generation script in bash.
Think about how you gather info, format it, and save it in a file.
You got /5 concepts.
    Describe how you would safely update a report file daily using a bash script.
    Consider file existence and preserving old data.
    You got /5 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a report generation script in bash?
      easy
      A. To automatically collect and save information into a file
      B. To compile source code into an executable
      C. To delete all files in a directory
      D. To open a graphical user interface

      Solution

      1. Step 1: Understand the script's goal

        A report generation script is designed to gather data and save it for review.
      2. Step 2: Match purpose with options

        Only To automatically collect and save information into a file describes collecting and saving information automatically.
      3. Final Answer:

        To automatically collect and save information into a file -> Option A
      4. Quick Check:

        Report generation = collect and save info [OK]
      Hint: Think: What does 'report generation' mean? Collect and save! [OK]
      Common Mistakes:
      • Confusing report generation with compiling code
      • Thinking it deletes files
      • Assuming it opens GUIs
      2. Which line correctly starts a bash script for report generation?
      easy
      A. echo "Start script"
      B. #!/bin/python
      C. #!/bin/bash
      D. import bash

      Solution

      1. Step 1: Identify the correct shebang for bash

        The first line in a bash script must be #!/bin/bash to specify the interpreter.
      2. Step 2: Check other options

        Options B, C, and D are either for other languages or commands, not the script start line.
      3. Final Answer:

        #!/bin/bash -> Option C
      4. Quick Check:

        Shebang for bash = #!/bin/bash [OK]
      Hint: Always start bash scripts with #!/bin/bash [OK]
      Common Mistakes:
      • Using wrong interpreter path
      • Starting with commands instead of shebang
      • Confusing bash with python
      3. What will be the output of this script?
      #!/bin/bash
      
      filename="report.txt"
      echo "Report generated on: $(date)" > $filename
      echo "User count: $(who | wc -l)" >> $filename
      cat $filename
      medium
      A. Shows an error because of wrong variable usage
      B. Prints current date and number of logged-in users in report.txt
      C. Prints only the date, not user count
      D. Creates an empty file named report.txt

      Solution

      1. Step 1: Analyze echo commands and redirection

        The first echo writes the date line to report.txt (overwrite). The second echo appends user count.
      2. Step 2: Understand the final cat command

        cat prints the contents of report.txt, showing both lines.
      3. Final Answer:

        Prints current date and number of logged-in users in report.txt -> Option B
      4. Quick Check:

        echo > overwrite, echo >> append, cat prints file [OK]
      Hint: Remember > overwrites, >> appends in bash [OK]
      Common Mistakes:
      • Confusing > and >> operators
      • Thinking variable usage is wrong
      • Assuming file is empty
      4. Identify the error in this report generation script snippet:
      #!/bin/bash
      filename=report.txt
      echo "Start report" > $filename
      echo "Date: $(date)" > $filename
      cat $filename
      medium
      A. The second echo overwrites the file, losing the first line
      B. The variable filename is not defined correctly
      C. Missing execute permission on the script
      D. The cat command is incorrect

      Solution

      1. Step 1: Check file redirection operators

        The first echo writes "Start report" to the file. The second echo uses > again, overwriting the file.
      2. Step 2: Understand the effect on output

        Because of overwrite, the first line is lost. Only the date line remains in the file.
      3. Final Answer:

        The second echo overwrites the file, losing the first line -> Option A
      4. Quick Check:

        Using > twice overwrites file [OK]
      Hint: Use >> to append, not > to avoid overwriting [OK]
      Common Mistakes:
      • Assuming > appends instead of overwriting
      • Thinking variable is undefined
      • Blaming cat command
      5. You want to create a report script that lists all files in the current directory and their sizes, saving to files_report.txt. Which script snippet correctly does this?
      hard
      A. #!/bin/bash ls -l > files_report.txt
      B. #!/bin/bash ls -l >> files_report.txt ls -a > files_report.txt
      C. #!/bin/bash ls -lh > files_report.txt
      D. #!/bin/bash ls -lh > files_report.txt wc -l >> files_report.txt

      Solution

      1. Step 1: Understand the requirements

        The report must list files with sizes and save to files_report.txt.
      2. Step 2: Analyze options for correct commands and output

        #!/bin/bash ls -lh > files_report.txt wc -l >> files_report.txt uses ls -lh for human-readable sizes and writes to the file. Then it appends the line count with wc -l, adding useful info.
      3. Step 3: Check other options

        #!/bin/bash ls -l > files_report.txt lacks human-readable sizes. #!/bin/bash ls -l >> files_report.txt ls -a > files_report.txt overwrites file after appending, losing data. #!/bin/bash ls -lh > files_report.txt misses line count info.
      4. Final Answer:

        Option D correctly lists files with sizes and appends line count to the report -> Option D
      5. Quick Check:

        ls -lh for sizes + wc -l appended = correct report [OK]
      Hint: Use ls -lh for sizes and append extra info with >> [OK]
      Common Mistakes:
      • Overwriting file after appending
      • Not using human-readable size option
      • Missing extra useful info like line count
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard