easyMultiple ChoiceObjective-mapped
XK0-006 Practice Question: A bash script uses a for loop to iterate over…
A bash script uses a for loop to iterate over files in a directory. Which of the following correctly assigns each filename to the variable FILE?
⚠ Common exam trap
Watch out — candidates often choose `$(ls *.txt)` (Option A) because they think they need to explicitly list files with `ls`, not realizing that the shell's built-in globbing is safer and more efficient, and that `ls` output parsing is fragile.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
for FILE in *.txt; do
The shell expands the wildcard pattern `*.txt` into a list of matching filenames before the `for` loop executes, and each filename is assigned to the variable `FILE` in turn. This approach is safe and efficient because it avoids parsing the output of `ls`, which can break with filenames containing spaces or special characters.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
for FILE in $(ls *.txt); do
Why it's wrong here
Uses ls which may produce unexpected results with spaces in filenames.
- ✓
for FILE in *.txt; do
Why this is correct
Uses glob expansion correctly, handling all filenames safely.
- ✗
for FILE in 'ls *.txt'; do
Why it's wrong here
Single quotes prevent glob expansion; treats as literal string.
- ✗
for FILE = *.txt; do
Why it's wrong here
Incorrect syntax: should be 'for FILE in *.txt'.
Go deeper
Related to this question
Learn chapter
File Permissions and Ownership
Key term
Bash
Bash is a command-line interpreter that lets users interact with an operating system by typing text commands instead of clicking icons.
Key term
Shell
A shell is a computer program that provides a user interface to access an operating system's services, typically by accepting text commands.
About these practice questions
This XK0-006 question is part of Courseiva's 979-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This XK0-006 practice question is part of Courseiva's free CompTIA certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the XK0-006 exam.