Bird
Raised Fist0
Bash Scriptingscripting~10 mins

Function definition 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 define a function named greet.

Bash Scripting
function [1]() {
  echo "Hello!"
}
Drag options to blanks, or click blank then click option'
Agreet
Bhello
Csay_hello
Dwelcome
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different function name than asked.
Forgetting the parentheses after the function name.
2fill in blank
medium

Complete the code to call the function named greet.

Bash Scripting
[1]
Drag options to blanks, or click blank then click option'
Afunction greet
Bcall greet
Crun greet
Dgreet()
Attempts:
3 left
💡 Hint
Common Mistakes
Writing 'call greet' which is not valid bash syntax.
Writing 'function greet' which defines a function, not calls it.
3fill in blank
hard

Fix the error in the function definition to make it valid bash syntax.

Bash Scripting
function greet [1] {
  echo "Hi!"
}
Drag options to blanks, or click blank then click option'
A{}
B()
C[]
D<>
Attempts:
3 left
💡 Hint
Common Mistakes
Using curly braces or square brackets instead of parentheses.
Omitting parentheses entirely.
4fill in blank
hard

Fill both blanks to define and call a function named say_hello.

Bash Scripting
function [1]() {
  echo "Hello, world!"
}

[2]()
Drag options to blanks, or click blank then click option'
Asay_hello
Bgreet
Chello
Dwelcome
Attempts:
3 left
💡 Hint
Common Mistakes
Using different names for definition and call.
Forgetting parentheses when calling the function.
5fill in blank
hard

Fill all three blanks to define a function greet_user that takes a name and prints a greeting.

Bash Scripting
function [1]() {
  echo "Hello, $[2]!"
}

[3] "Alice"
Drag options to blanks, or click blank then click option'
Agreet_user
B1
Dname
Attempts:
3 left
💡 Hint
Common Mistakes
Using variable name instead of argument position.
Calling the function with a different name.
Forgetting to use $ before the argument number.

Practice

(1/5)
1. What is the correct way to define a function named greet in bash?
easy
A. greet() { echo "Hello"; }
B. function greet[] { echo "Hello"; }
C. def greet() { echo "Hello"; }
D. function greet() echo "Hello"

Solution

  1. Step 1: Understand bash function syntax

    Bash functions are defined using either name() { commands; } or function name { commands; }.
  2. Step 2: Check each option

    greet() { echo "Hello"; } uses the correct syntax with parentheses and braces. Options B, C, and D have syntax errors or use wrong keywords.
  3. Final Answer:

    greet() { echo "Hello"; } -> Option A
  4. Quick Check:

    Function syntax = greet() { ... } [OK]
Hint: Use parentheses and braces to define bash functions [OK]
Common Mistakes:
  • Using square brackets instead of parentheses
  • Using Python 'def' keyword
  • Omitting braces around commands
2. Which of the following is a valid function definition syntax in bash?
easy
A. function myFunc() { echo "Hi"; }
B. myFunc[] { echo "Hi"; }
C. function myFunc[] echo "Hi"
D. myFunc() echo "Hi"

Solution

  1. Step 1: Recall valid bash function syntax

    Bash allows defining functions as function name() { commands; } or name() { commands; }.
  2. Step 2: Evaluate options

    function myFunc() { echo "Hi"; } matches valid syntax. Options A and C use square brackets incorrectly. myFunc() echo "Hi" misses braces around commands.
  3. Final Answer:

    function myFunc() { echo "Hi"; } -> Option A
  4. Quick Check:

    Valid syntax includes 'function name() { ... }' [OK]
Hint: Remember to use braces {} to group commands in functions [OK]
Common Mistakes:
  • Using square brackets instead of parentheses
  • Omitting braces after function name
  • Missing parentheses after function name
3. What will be the output of this bash script?
say_hello() {
  echo "Hello, $1!"
}
say_hello Alice
medium
A. Error: function not found
B. Hello, Alice!
C. say_hello Alice
D. Hello, $1!

Solution

  1. Step 1: Understand function call with argument

    The function say_hello takes one argument and prints it using $1.
  2. Step 2: Substitute argument and print

    Calling say_hello Alice replaces $1 with "Alice", so output is "Hello, Alice!".
  3. Final Answer:

    Hello, Alice! -> Option B
  4. Quick Check:

    Function argument $1 = Alice [OK]
Hint: Use $1 to access first argument inside bash functions [OK]
Common Mistakes:
  • Printing literal $1 instead of its value
  • Forgetting to call the function
  • Syntax errors in function definition
4. Identify the error in this bash function definition:
function greet {
  echo "Hi"
}
medium
A. Missing parentheses after function name
B. Missing braces around commands
C. Missing semicolon after echo
D. No error; parentheses are optional with 'function' keyword

Solution

  1. Step 1: Check function syntax with 'function' keyword

    Bash allows function name() { commands; } or function name { commands; }. Parentheses after the name are optional.
  2. Step 2: Identify if there's an error

    The code function greet { echo "Hi"; } is valid syntax.
  3. Final Answer:

    No error; parentheses are optional with 'function' keyword -> Option D
  4. Quick Check:

    function name { ... } [OK]
Hint: Parentheses () are optional with 'function name' [OK]
Common Mistakes:
  • Omitting parentheses after function name
  • Confusing braces and parentheses
  • Assuming semicolon needed after echo
5. You want to create a bash function sum that takes two numbers and prints their sum. Which function definition correctly does this?
hard
A. function sum { echo $1 + $2; }
B. sum() { echo $1 + $2; }
C. sum() { echo $(($1 + $2)); }
D. sum() { echo $1 $2; }

Solution

  1. Step 1: Understand arithmetic in bash functions

    To add numbers, use arithmetic expansion $(()) inside echo.
  2. Step 2: Evaluate each option

    sum() { echo $(($1 + $2)); } correctly sums $1 and $2 using $(($1 + $2)). Options A and B print strings with plus sign, not sum. sum() { echo $1 $2; } prints numbers without adding.
  3. Final Answer:

    sum() { echo $(($1 + $2)); } -> Option C
  4. Quick Check:

    Use $(()) for arithmetic in bash functions [OK]
Hint: Use $(()) to perform math inside bash functions [OK]
Common Mistakes:
  • Printing variables without arithmetic expansion
  • Omitting parentheses for function definition
  • Using 'function' without parentheses
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