Interview › Scripting (Bash, Groovy)
How do you make a script executable and run it? [Basic]
Answer
I make a script executable with chmod +x script.sh and run it as ./script.sh, assuming the file has a valid shebang. I can also run it with an explicit interpreter, such as bash script.sh.
Technical explanation
chmod +x adds execute permission so the OS can invoke the file as a program.
The ./ prefix tells the shell to run the script from the current directory, because current directory is normally not in PATH for security reasons.
If the script is in a directory listed in PATH, it can be run by name after the execute bit is set.
Hands-on example
cat > deploy.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
echo "deploying $1"
EOF
chmod +x deploy.sh
./deploy.sh prod
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More Scripting (Bash, Groovy) interview questions
- What is the purpose of the shebang line, and what does #!/bin/bash do? [Basic]
- What is the difference between sh and bash? [Basic]
- What is the difference between running a script with ./script.sh, bash script.sh, and source script.sh? [Basic]
- What does sourcing a script do differently from executing it? [Basic]
- How do you declare a variable in Bash, and why are spaces around = not allowed? [Basic]
- What is the difference between $var and ${var}? [Basic]
- What is the difference between single quotes and double quotes in Bash? [Basic]
- Why should you quote variables, and what bug does unquoting cause? [Basic]