Bird
Raised Fist0
Bash Scriptingscripting~10 mins

Return values (return and echo) 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 return the value 5 from the function.

Bash Scripting
my_func() {
  [1] 5
}
my_func
Drag options to blanks, or click blank then click option'
Aprint
Becho
Creturn
Dexit
Attempts:
3 left
💡 Hint
Common Mistakes
Using echo instead of return to send back a value.
Using exit inside the function which stops the whole script.
2fill in blank
medium

Complete the code to print the string 'Hello' from the function.

Bash Scripting
greet() {
  [1] "Hello"
}
greet
Drag options to blanks, or click blank then click option'
Aecho
Bprint
Cexit
Dreturn
Attempts:
3 left
💡 Hint
Common Mistakes
Using return to try to print text.
Using print which is not a bash command.
3fill in blank
hard

Fix the error in the function to correctly return the exit status 3.

Bash Scripting
check_status() {
  [1] 3
}
check_status
status=$?
echo $status
Drag options to blanks, or click blank then click option'
Aecho
Bprint
Cexit
Dreturn
Attempts:
3 left
💡 Hint
Common Mistakes
Using echo instead of return to set exit status.
Using exit which terminates the script.
4fill in blank
hard

Fill both blanks to create a function that prints 'Done' and returns exit status 0.

Bash Scripting
finish() {
  [1] "Done"
  [2] 0
}
finish
status=$?
echo $status
Drag options to blanks, or click blank then click option'
Aecho
Bexit
Creturn
Dprint
Attempts:
3 left
💡 Hint
Common Mistakes
Using exit instead of return which stops the script.
Using print which is not a bash command.
5fill in blank
hard

Fill all three blanks to create a function that prints the argument, returns 1 if argument is 'fail', else returns 0.

Bash Scripting
result() {
  [1] "$1"
  if [[ "$1" == "fail" ]]; then
    [2] 1
  else
    [3] 0
  fi
}
result "$1"
exit_status=$?
echo $exit_status
Drag options to blanks, or click blank then click option'
Aecho
Breturn
Cexit
Dprint
Attempts:
3 left
💡 Hint
Common Mistakes
Using exit inside the function which stops the whole script.
Using print which is not a bash command.
Using echo instead of return to set exit status.

Practice

(1/5)
1. In bash scripting, what does the return command inside a function do?
easy
A. It stops the entire script immediately.
B. It sends a numeric status code back to the caller.
C. It prints text output to the terminal.
D. It saves the function output to a file.

Solution

  1. Step 1: Understand the purpose of return in bash functions

    The return command sends a numeric exit status (0-255) back to the caller, indicating success or failure.
  2. Step 2: Differentiate from echo

    Unlike echo, which prints text output, return only sends a number status, not text.
  3. Final Answer:

    It sends a numeric status code back to the caller. -> Option B
  4. Quick Check:

    return = numeric status [OK]
Hint: Remember: return sends number status, echo prints text [OK]
Common Mistakes:
  • Thinking return prints output like echo
  • Using return to output strings
  • Confusing return with exit
2. Which of the following is the correct syntax to return a status code 5 from a bash function named check?
easy
A. exit 5
B. echo 5
C. return(status=5)
D. return 5

Solution

  1. Step 1: Recall bash function return syntax

    To return a status code from a function, use return followed by the number, e.g., return 5.
  2. Step 2: Identify incorrect options

    echo 5 prints text, return(status=5) is invalid syntax, and exit 5 exits the whole script.
  3. Final Answer:

    return 5 -> Option D
  4. Quick Check:

    Use return number syntax [OK]
Hint: Use 'return' followed by number to send status [OK]
Common Mistakes:
  • Using echo instead of return for status
  • Trying to use parentheses in return
  • Using exit inside function to return status
3. What will be the output of this script?
myfunc() {
  echo "Hello"
  return 3
}
myfunc
echo $? 
medium
A. 3\nHello
B. Hello\n0
C. Hello\n3
D. 3\n3

Solution

  1. Step 1: Analyze function output

    The function prints "Hello" using echo, so "Hello" appears first.
  2. Step 2: Check return status and echo it

    The function returns 3, so $? after calling it is 3, which is printed next.
  3. Final Answer:

    Hello\n3 -> Option C
  4. Quick Check:

    echo prints text, return sets status [OK]
Hint: echo prints text first, $? shows return code after function [OK]
Common Mistakes:
  • Confusing echo output with return value
  • Expecting return value to print automatically
  • Ignoring that $? holds last return status
4. Identify the error in this bash function:
myfunc() {
  return "Success"
}
myfunc
echo $?
medium
A. return expects a number, not a string
B. echo cannot print return values
C. Function missing parentheses
D. return must be last command in function

Solution

  1. Step 1: Understand return command rules

    In bash, return must be followed by a numeric status (0-255), not a string.
  2. Step 2: Identify the error in the code

    The code tries to return "Success" (a string), which causes an error.
  3. Final Answer:

    return expects a number, not a string -> Option A
  4. Quick Check:

    return only accepts numbers [OK]
Hint: return only accepts numbers, not text [OK]
Common Mistakes:
  • Trying to return strings with return
  • Confusing echo and return usage
  • Assuming return prints output
5. How can you capture the text output of a bash function greet that uses echo inside, and store it in a variable msg?
hard
A. msg=$(greet)
B. msg=return greet
C. msg=`return greet`
D. msg=echo greet

Solution

  1. Step 1: Understand capturing function output

    To capture text output from a function that uses echo, use command substitution: $(function_name).
  2. Step 2: Identify correct syntax

    msg=$(greet) runs greet and stores its echo output in msg. Other options misuse return or echo.
  3. Final Answer:

    msg=$(greet) -> Option A
  4. Quick Check:

    Use $(function) to capture echo output [OK]
Hint: Use $(function) to capture echo output in variable [OK]
Common Mistakes:
  • Using return instead of command substitution
  • Assigning echo command directly to variable
  • Using backticks incorrectly with return
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