Bird
Raised Fist0
Bash Scriptingscripting~10 mins

Temporary files (mktemp) in Bash Scripting - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a temporary file using mktemp.

Bash Scripting
tempfile=[1]
Drag options to blanks, or click blank then click option'
Atempfile
Bmktemp
Ctouch tempfile
Drm tempfile
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'touch tempfile' creates a file but not a unique temporary file.
Assigning a variable without a command does not create a file.
2fill in blank
medium

Complete the code to create a temporary directory using mktemp.

Bash Scripting
tempdir=[1] -d
Drag options to blanks, or click blank then click option'
Amktemp
Bmkdir
Crm
Dtouch
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'mkdir' alone does not create a unique temporary directory.
Using 'touch' creates files, not directories.
3fill in blank
hard

Fix the error in the code to safely create a temporary file and write 'Hello' into it.

Bash Scripting
tempfile=[1]
echo "Hello" > $tempfile
Drag options to blanks, or click blank then click option'
Amkdir
Btouch
Crm tempfile
Dmktemp
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'touch' does not guarantee a unique filename.
Using 'mkdir' creates a directory, not a file.
4fill in blank
hard

Fill both blanks to create a temporary file with a custom prefix and then remove it.

Bash Scripting
tempfile=[1] -t [2]
rm $tempfile
Drag options to blanks, or click blank then click option'
Amktemp
Btemp
Cmytemp
Dtouch
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'touch' does not create a unique temporary file.
Using wrong prefix names or missing the prefix option.
5fill in blank
hard

Fill all three blanks to create a temporary directory with a prefix, list its contents, and then remove it.

Bash Scripting
tempdir=[1] -d -t [2]
ls [3]
rm -r $tempdir
Drag options to blanks, or click blank then click option'
Amktemp
B$tempdir
Dtempdir
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'rm' without '-r' to remove a directory causes an error.
Not using the variable to refer to the directory in commands.

Practice

(1/5)
1. What is the main purpose of the mktemp command in bash scripting?
easy
A. To permanently delete files from the system
B. To change file permissions
C. To list all files in the current directory
D. To create a unique temporary file or directory safely

Solution

  1. Step 1: Understand the function of mktemp

    mktemp is designed to create temporary files or directories with unique names to avoid conflicts.
  2. Step 2: Compare with other options

    Options A, C, and D describe unrelated commands or actions not related to mktemp.
  3. Final Answer:

    To create a unique temporary file or directory safely -> Option D
  4. Quick Check:

    mktemp = unique temp file creation [OK]
Hint: Remember: mktemp = safe unique temp file creation [OK]
Common Mistakes:
  • Confusing mktemp with file deletion commands
  • Thinking mktemp lists files
  • Assuming mktemp changes file permissions
2. Which of the following is the correct syntax to create a temporary file using mktemp in bash?
easy
A. mktemp
B. mktemp -d
C. mktemp --remove
D. mktemp -r

Solution

  1. Step 1: Identify basic mktemp usage

    Running mktemp alone creates a temporary file with a unique name.
  2. Step 2: Understand options

    -d creates a temporary directory, not a file. Options --remove and -r are invalid or not standard.
  3. Final Answer:

    mktemp -> Option A
  4. Quick Check:

    Basic mktemp = create temp file [OK]
Hint: Use plain mktemp to create a temp file quickly [OK]
Common Mistakes:
  • Using -d when a file is needed, creates directory instead
  • Using non-existent options like --remove or -r
  • Confusing directory creation with file creation
3. What will be the output of the following bash script snippet?
tempfile=$(mktemp)
echo $tempfile
rm $tempfile
medium
A. Creates a directory instead of a file
B. Prints a unique temporary filename, then deletes it
C. Prints the string 'tempfile' literally
D. Prints an error because tempfile is empty

Solution

  1. Step 1: Analyze mktemp usage

    mktemp creates a unique temporary file and returns its path, stored in tempfile.
  2. Step 2: Understand echo and rm commands

    echo $tempfile prints the temporary filename. rm $tempfile deletes the file to keep the system clean.
  3. Final Answer:

    Prints a unique temporary filename, then deletes it -> Option B
  4. Quick Check:

    mktemp creates file, echo prints, rm deletes [OK]
Hint: mktemp returns filename; echo prints it; rm cleans up [OK]
Common Mistakes:
  • Expecting literal 'tempfile' output instead of variable value
  • Thinking tempfile is empty or unset
  • Confusing file creation with directory creation
4. Identify the error in this script snippet:
tempfile=mktemp
echo $tempfile
rm $tempfile
medium
A. Missing parentheses to execute mktemp command
B. rm command should be before echo
C. mktemp should be quoted
D. No error, script works fine

Solution

  1. Step 1: Check variable assignment

    Assigning tempfile=mktemp sets the string 'mktemp', not the command output.
  2. Step 2: Correct command substitution

    Use tempfile=$(mktemp) to run the command and assign its output.
  3. Final Answer:

    Missing parentheses to execute mktemp command -> Option A
  4. Quick Check:

    Use $(mktemp) to assign command output [OK]
Hint: Use $(command) to assign output, not plain text [OK]
Common Mistakes:
  • Assigning command name as string instead of output
  • Forgetting $() or backticks for command substitution
  • Thinking rm order affects error here
5. You want to create a temporary directory for your script to store files safely and remove it after use. Which command correctly creates this directory and stores its path in a variable named tempdir?
hard
A. tempdir=$(mktemp)
B. tempdir=mktemp -d
C. tempdir=$(mktemp -d)
D. tempdir=mktemp -f

Solution

  1. Step 1: Understand -d option in mktemp

    The -d option tells mktemp to create a temporary directory instead of a file.
  2. Step 2: Correct command substitution syntax

    Use $(mktemp -d) to execute the command and assign the directory path to tempdir.
  3. Final Answer:

    tempdir=$(mktemp -d) -> Option C
  4. Quick Check:

    Use $(mktemp -d) for temp directory creation [OK]
Hint: Use $(mktemp -d) to create and assign temp directory [OK]
Common Mistakes:
  • Assigning command as string without $()
  • Using mktemp without -d creates a file, not directory
  • Using invalid options like -f
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