Get the FREE Ultimate OpenClaw Setup Guide →

bash-linux

Scanned
npx machina-cli add skill vudovn/antigravity-kit/bash-linux --openclaw
Files (1)
SKILL.md
4.1 KB

Bash Linux Patterns

Essential patterns for Bash on Linux/macOS.


1. Operator Syntax

Chaining Commands

OperatorMeaningExample
;Run sequentiallycmd1; cmd2
&&Run if previous succeedednpm install && npm run dev
||Run if previous failednpm test || echo "Tests failed"
|Pipe outputls | grep ".js"

2. File Operations

Essential Commands

TaskCommand
List allls -la
Find filesfind . -name "*.js" -type f
File contentcat file.txt
First N lineshead -n 20 file.txt
Last N linestail -n 20 file.txt
Follow logtail -f log.txt
Search in filesgrep -r "pattern" --include="*.js"
File sizedu -sh *
Disk usagedf -h

3. Process Management

TaskCommand
List processesps aux
Find by nameps aux | grep node
Kill by PIDkill -9 <PID>
Find port userlsof -i :3000
Kill portkill -9 $(lsof -t -i :3000)
Backgroundnpm run dev &
Jobsjobs -l
Bring to frontfg %1

4. Text Processing

Core Tools

ToolPurposeExample
grepSearchgrep -rn "TODO" src/
sedReplacesed -i 's/old/new/g' file.txt
awkExtract columnsawk '{print $1}' file.txt
cutCut fieldscut -d',' -f1 data.csv
sortSort linessort -u file.txt
uniqUnique linessort file.txt | uniq -c
wcCountwc -l file.txt

5. Environment Variables

TaskCommand
View allenv or printenv
View oneecho $PATH
Set temporaryexport VAR="value"
Set in scriptVAR="value" command
Add to PATHexport PATH="$PATH:/new/path"

6. Network

TaskCommand
Downloadcurl -O https://example.com/file
API requestcurl -X GET https://api.example.com
POST JSONcurl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL
Check portnc -zv localhost 3000
Network infoifconfig 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

TaskPowerShellBash
List filesGet-ChildItemls -la
Find filesGet-ChildItem -Recursefind . -type f
Environment$env:VAR$VAR
String concat"$a$b""$a$b" (same)
Null checkif ($x)if [ -n "$x" ]
PipelineObject-basedText-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!

Source

git clone https://github.com/vudovn/antigravity-kit/blob/main/.agent/skills/bash-linux/SKILL.mdView on GitHub

Overview

Bash/Linux Patterns covers essential terminal patterns, commands, piping, and scripting for macOS and Linux. It teaches operator syntax, file operations, process management, text processing, environment variables, network basics, and common script templates to streamline workflows.

How This Skill Works

The skill compiles practical shell patterns into reusable snippets and templates. Users apply these through one-liners or scripts, leveraging piping, redirection, and pipefail-based error handling to build reliable automation.

When to Use It

  • Automate command pipelines and conditional execution in deployment scripts
  • Search, filter, and transform logs or source files with grep/sed/awk
  • Manage long-running processes and identify/list ports during development
  • Configure environment variables and build startup scripts
  • Create robust scripts with error handling and cleanup traps

Quick Start

  1. Step 1: Open terminal and run a simple command like ls -la to verify shell access
  2. Step 2: Create a small script using the Script Template and functions shown in the skill
  3. Step 3: Run the script with set -euo pipefail and observe robust error handling

Best Practices

  • Enable strict error handling: set -euo pipefail
  • Check for required commands before use (command -v)
  • Use quotes and safe IFS in loops to handle spaces
  • Prefer small, testable functions with logging helpers
  • Document scripts with a clear header and comments

Example Use Cases

  • List all files with details: ls -la
  • Find files: find . -name "*.js" -type f
  • Search in files: grep -r "pattern" --include="*.js"
  • Follow a log: tail -f log.txt
  • Kill a port: kill -9 $(lsof -t -i :3000)

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers