Bird
Raised Fist0
Bash Scriptingscripting~20 mins

Running scripts in Bash Scripting - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Script Runner Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of this script execution command?
You have a script named hello.sh with the following content:
#!/bin/bash
echo "Hello, world!"

What will be the output if you run bash hello.sh in the terminal?
Bash Scripting
#!/bin/bash
echo "Hello, world!"
Abash: hello.sh: command not found
BHello, world!
CNo output, script runs silently
DError: Permission denied
Attempts:
2 left
💡 Hint
Running a script with bash executes the commands inside it and prints output.
💻 Command Output
intermediate
2:00remaining
What happens when you run a script without execute permission?
You have a script myscript.sh with content:
#!/bin/bash
echo "Run me!"

The file does NOT have execute permission. What happens if you run ./myscript.sh?
Bash Scripting
#!/bin/bash
echo "Run me!"
Abash: ./myscript.sh: Permission denied
BRun me!
CNo output, script runs silently
Dbash: myscript.sh: command not found
Attempts:
2 left
💡 Hint
Trying to run a file without execute permission causes a permission error.
📝 Syntax
advanced
2:00remaining
Which command correctly runs a script named script.sh located in the current directory?
You want to run script.sh from the terminal. Which command will run it correctly assuming it has execute permission?
Ascript.sh
Bbash ./script.sh
C/script.sh
D./script.sh
Attempts:
2 left
💡 Hint
Scripts in the current directory need a path prefix to run directly.
🔧 Debug
advanced
2:00remaining
Why does this script fail to run with ./runme.sh?
Script runme.sh content:
echo "Start"
echo "Done"

You try ./runme.sh but get:
bash: ./runme.sh: Permission denied
What is the cause?
AThe script lacks execute permission
BThe script has a syntax error
CThe script file is empty
DThe script is missing the shebang line
Attempts:
2 left
💡 Hint
Permission denied means the OS won't let you run the file.
🚀 Application
expert
3:00remaining
What is the output of this script execution with environment variable?
Given the script envtest.sh:
#!/bin/bash
echo "User is: $USER"

You run:
USER=guest ./envtest.sh
What is the output?
Bash Scripting
#!/bin/bash
echo "User is: $USER"
AUser is: (empty line)
BUser is: $USER
CUser is: guest
Dbash: ./envtest.sh: Permission denied
Attempts:
2 left
💡 Hint
Setting an environment variable before a command overrides it inside the script.

Practice

(1/5)
1. What is the correct way to run a bash script named myscript.sh after making it executable?
easy
A. Use ./myscript.sh to run the script.
B. Use run myscript.sh to run the script.
C. Use execute myscript.sh to run the script.
D. Use start myscript.sh to run the script.

Solution

  1. Step 1: Understand script execution permission

    Before running a script with ./myscript.sh, it must have execute permission set using chmod +x myscript.sh.
  2. Step 2: Run the script using relative path

    Using ./myscript.sh runs the script in the current directory. Other commands like run, execute, or start are not valid bash commands.
  3. Final Answer:

    Use ./myscript.sh to run the script. -> Option A
  4. Quick Check:

    Executable script run with ./script.sh = A [OK]
Hint: Make script executable, then run with ./script.sh [OK]
Common Mistakes:
  • Trying to run script without execute permission
  • Using invalid commands like run or start
  • Not specifying path to script
2. Which of the following is the correct syntax to run a bash script named backup.sh without changing its permissions?
easy
A. ./backup.sh
B. sh run backup.sh
C. bash backup.sh
D. execute backup.sh

Solution

  1. Step 1: Understand running scripts without execute permission

    If the script is not executable, you can run it by explicitly calling the shell interpreter like bash backup.sh.
  2. Step 2: Identify correct syntax

    bash backup.sh runs the script using bash without needing execute permission. Other options either require execute permission or are invalid commands.
  3. Final Answer:

    bash backup.sh -> Option C
  4. Quick Check:

    Run script with interpreter command = B [OK]
Hint: Use bash script.sh to run without execute permission [OK]
Common Mistakes:
  • Trying to run with ./ without execute permission
  • Using invalid commands like execute
  • Adding extra words like 'run' before script name
3. Given the script hello.sh with content:
#!/bin/bash
echo "Hello, $1!"

What is the output of ./hello.sh World?
medium
A. Hello, $1!
B. Hello, World!
C. Hello, !
D. Syntax error

Solution

  1. Step 1: Understand script parameter usage

    The script uses $1 which is the first argument passed to the script. Here, World is passed as the first argument.
  2. Step 2: Predict output after substitution

    The echo command prints "Hello, World!" by replacing $1 with the argument.
  3. Final Answer:

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

    Argument $1 replaced by 'World' = A [OK]
Hint: Arguments like $1 print passed values in scripts [OK]
Common Mistakes:
  • Printing literal $1 instead of argument
  • Missing argument causing empty output
  • Assuming syntax error due to shebang
4. You try to run a script with ./myscript.sh but get Permission denied. What is the most likely fix?
medium
A. Add execute permission with chmod +x myscript.sh.
B. Run the script with ./myscript.sh again.
C. Rename the script to myscript.sh.sh.
D. Delete the script and create a new one.

Solution

  1. Step 1: Identify cause of 'Permission denied'

    This error usually means the script file does not have execute permission.
  2. Step 2: Fix permission issue

    Use chmod +x myscript.sh to add execute permission, allowing the script to run.
  3. Final Answer:

    Add execute permission with chmod +x myscript.sh. -> Option A
  4. Quick Check:

    Permission denied fixed by chmod +x = D [OK]
Hint: Use chmod +x to fix permission denied errors [OK]
Common Mistakes:
  • Trying to run script again without changing permissions
  • Renaming script does not fix permissions
  • Deleting script is unnecessary
5. You want to run a script deploy.sh located in /home/user/scripts from anywhere in the terminal without typing the full path. What is the best way to do this?
hard
A. Run the script with bash /home/user/scripts/deploy.sh every time.
B. Copy deploy.sh to /tmp directory.
C. Rename the script to deploy without extension.
D. Add /home/user/scripts to the PATH environment variable.

Solution

  1. Step 1: Understand PATH environment variable

    PATH lists directories where the shell looks for commands. Adding a directory lets you run scripts inside it by name.
  2. Step 2: Add script directory to PATH

    By adding /home/user/scripts to PATH, you can run deploy.sh from anywhere simply by typing deploy.sh.
  3. Final Answer:

    Add /home/user/scripts to the PATH environment variable. -> Option D
  4. Quick Check:

    PATH addition enables running scripts anywhere = C [OK]
Hint: Add script folder to PATH to run scripts anywhere [OK]
Common Mistakes:
  • Copying script to /tmp is temporary and not recommended
  • Running with full path every time is inconvenient
  • Renaming script does not affect running from anywhere
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