bash-linux

Essential patterns for Bash on Linux/macOS.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bash-linux" with this command: npx skills add tai-ch0802/skills-bundle/tai-ch0802-skills-bundle-bash-linux

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"

  1. 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

  1. 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

  1. 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

  1. 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"

  1. 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

  1. 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 "$@"

  1. 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

  1. 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

  1. 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 Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

testing-mastery

No summary provided by upstream source.

Repository SourceNeeds Review
General

prd

No summary provided by upstream source.

Repository SourceNeeds Review
General

skill-creator

No summary provided by upstream source.

Repository SourceNeeds Review
General

frontend-design

No summary provided by upstream source.

Repository SourceNeeds Review