What is the command to make a script executable in Bash?
Use chmod +x scriptname.sh to give execute permission to the script.
Click to reveal answer
beginner
How do you run a Bash script located in the current directory?
Run it by typing ./scriptname.sh in the terminal.
Click to reveal answer
beginner
Why do you need ./ before the script name when running it?
Because the current directory is not in the PATH by default, ./ tells the shell to run the script from here.
Click to reveal answer
beginner
What does the first line #!/bin/bash in a script do?
It tells the system to use the Bash shell to run the script. This line is called the shebang.
Click to reveal answer
intermediate
Can you run a script without making it executable? How?
Yes, by running bash scriptname.sh or sh scriptname.sh you can run the script without changing permissions.
Click to reveal answer
What command makes a Bash script executable?
Achmod +x script.sh
Brun script.sh
Cexecute script.sh
Dbash +x script.sh
✗ Incorrect
The chmod +x command adds execute permission to the script.
How do you run a script named myscript.sh in the current folder?
Abash ./myscript.sh
Bmyscript.sh
C./myscript.sh
Drun myscript.sh
✗ Incorrect
You run it with ./myscript.sh because the current directory is not in PATH.
What is the purpose of the shebang line #!/bin/bash?
ATo comment the first line
BTo name the script
CTo make the script executable
DTo tell the system which shell to use to run the script
✗ Incorrect
The shebang tells the system to use Bash to run the script.
If you do not want to change permissions, how can you run a script?
Abash script.sh
B./script.sh
Cchmod script.sh
Dexecute script.sh
✗ Incorrect
Running bash script.sh runs the script without needing execute permission.
Why do you need to type ./ before the script name?
ABecause it is part of the script name
BBecause current directory is not in PATH by default
CBecause it makes the script executable
DBecause it is a command to run scripts
✗ Incorrect
The shell does not look in the current folder unless you specify ./.
Explain step-by-step how to prepare and run a Bash script from creating it to executing it.
Think about file creation, permissions, and running commands.
You got /4 concepts.
Describe why the current directory is not searched by default when running commands and how to run scripts in the current directory.
Consider how the shell finds commands.
You got /3 concepts.
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
Step 1: Understand script execution permission
Before running a script with ./myscript.sh, it must have execute permission set using chmod +x myscript.sh.
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.
Final Answer:
Use ./myscript.sh to run the script. -> Option A
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
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.
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.
Final Answer:
bash backup.sh -> Option C
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
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.
Step 2: Predict output after substitution
The echo command prints "Hello, World!" by replacing $1 with the argument.
Final Answer:
Hello, World! -> Option B
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
Step 1: Identify cause of 'Permission denied'
This error usually means the script file does not have execute permission.
Step 2: Fix permission issue
Use chmod +x myscript.sh to add execute permission, allowing the script to run.
Final Answer:
Add execute permission with chmod +x myscript.sh. -> Option A
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
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.
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.
Final Answer:
Add /home/user/scripts to the PATH environment variable. -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.