A Linux administrator wants a loop in a Bash script to ignore any file whose name does not end with the extension .log and writes the following check:
if [[ $file != *.log ]]; then
echo "Skipping $file"
fi
Which statement correctly describes what the != operator does inside the [[ … ]] test used here?
Inside [[ … ]], != interprets the right-hand operand as an unquoted glob pattern and is true when the left-hand string does not match that pattern.
!= compares two strings while ignoring case differences, so DEBUG.LOG and debug.log are considered identical unless a special option is set.
!= performs numeric inequality inside [[ … ]]; to compare strings you should use -ne instead.
When used inside [[ … ]], != applies an extended regular expression to the left-hand string, so a glob like *.log would be taken literally and never match.
Within the double-bracket conditional [[ … ]], the operators == and != compare the left-hand string with a shell glob pattern on the right. Because the pattern side is unquoted, metacharacters such as * and ? are treated according to the normal filename-matching rules. The expression therefore returns a zero exit status ("true") when the left-hand string does not match the pattern and a non-zero status when it does. Numeric comparison would require -ne, and regular-expression matching would require =~. Case is significant unless the nocasematch shell option is enabled, so log and LOG are not considered the same by default.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is the difference between `!=` and `==` in a `[[ … ]]` test?
Open an interactive chat with Bash
What is the difference between a glob pattern and a regular expression?
Open an interactive chat with Bash
How does case sensitivity work in string comparisons within `[[ … ]]`?
Open an interactive chat with Bash
CompTIA Linux+ XK0-006 (V8)
Automation, Orchestration, and Scripting
Your Score:
Report Issue
Bash, the Crucial Exams Chat Bot
AI Bot
Loading...
Loading...
Loading...
Pass with Confidence.
IT & Cybersecurity Package
You have hit the limits of our free tier, become a Premium Member today for unlimited access.
Military, Healthcare worker, Gov. employee or Teacher? See if you qualify for a Community Discount.
Monthly
$19.99
$19.99/mo
Billed monthly, Cancel any time.
3 Month Pass
$44.99
$14.99/mo
One time purchase of $44.99, Does not auto-renew.
MOST POPULAR
Annual Pass
$119.99
$9.99/mo
One time purchase of $119.99, Does not auto-renew.
BEST DEAL
Lifetime Pass
$189.99
One time purchase, Good for life.
What You Get
All IT & Cybersecurity Package plans include the following perks and exams .