back
loading skill details...
bash-linux — an installable skill for AI agents, published by sickn33/antigravity-awesome-skills.
Bash Linux Patterns
Essential patterns for Bash on Linux/macOS.
1. Operator Syntax
Chaining Commands
Operator
Meaning
Example
;
Run sequentially
cmd1; cmd2
&&
Run if previous succeeded
npm install && npm run dev
||
Run if previous failed
npm test || echo "Tests failed"
|
Pipe output
ls | grep ".js"
2. File Operations
Essential Commands
Task
Command
List all
ls -la
Find files
find . -name "*.js" -type f
File content
cat file.txt
First N lines
head -n 20 file.txt
Last N lines
tail -n 20 file.txt
Follow log
tail -f log.txt
Search in files
grep -r "pattern" --include="*.js"
File size
du -sh *
Disk usage
df -h
3. Process Management
Task
Command
List processes
ps aux
Find by name
ps aux | grep node
Kill by PID
kill -9 <PID>
Find port user
lsof -i :3000
Kill port
kill -9 $(lsof -t -i :3000)
Background
npm run dev &
Jobs
jobs -l
Bring to front
fg %1
4. Text Processing
Core Tools
Tool
Purpose
Example
grep
Search
grep -rn "TODO" src/
sed
Replace
sed -i 's/old/new/g' file.txt
awk
Extract columns
awk '{print $1}' file.txt
cut
Cut fields
cut -d',' -f1 data.csv
sort
Sort lines
sort -u file.txt
uniq
Unique lines
sort file.txt | uniq -c
wc
Count
wc -l file.txt
5. Environment Variables
Task
Command
View all
env or printenv
View one
echo $PATH
Set temporary
export VAR="value"
Set in script
VAR="value" command
Add to PATH
export PATH="$PATH:/new/path"
6. Network
Task
Command
Download
curl -O https://example.com/file
API request
curl -X GET https://api.example.com
POST JSON
curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL
Check port
nc -zv localhost 3000
Network info
ifconfig or ip addr
7. Script Template
#!/bin/bash
set -euo pipefail # Exit on error, undefined var, pipe fail
# Colors (optional)
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m'
# Script directory
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Functions
log_info() { echo -e "${GREEN}[INFO]${NC} $1"; }
log_error() { echo -e "${RED}[ERROR]${NC} $1" >&2; }
# Main
main() {
log_info "Starting..."
# Your logic here
log_info "Done!"
}
main "$@"
8. Common Patterns
Check if command exists
if command -v node &> /dev/null; then
echo "Node is installed"
fi
Default variable value
NAME=${1:-"default_value"}
Read file line by line
while IFS= read -r line; do
echo "$line"
done < file.txt
Loop over files
for file in *.js; do
echo "Processing $file"
done
9. Differences from PowerShell
Task
PowerShell
Bash
List files
Get-ChildItem
ls -la
Find files
Get-ChildItem -Recurse
find . -type f
Environment
$env:VAR
$VAR
String concat
"$a$b"
"$a$b" (same)
Null check
if ($x)
if [ -n "$x" ]
Pipeline
Object-based
Text-based
10. Error Handling
Set options
set -e # Exit on error
set -u # Exit on undefined variable
set -o pipefail # Exit on pipe failure
set -x # Debug: print commands
Trap for cleanup
cleanup() {
echo "Cleaning up..."
rm -f /tmp/tempfile
}
trap cleanup EXIT
Remember: Bash is text-based. Use && for success chains, set -e for safety, and quote your variables!
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
Use this skill only when the task clearly matches the scope described above.
Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.don't have the plugin yet? install it then click "run inline in claude" again.