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 prodPreparing for an interview?
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]