os-scripting

安装量: 40
排名: #17818

安装

npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill os-scripting

OS/Shell Scripting Troubleshooting Workflow Bundle Overview Comprehensive workflow for operating system troubleshooting, shell scripting, and system administration across Linux, macOS, and Windows. This bundle orchestrates skills for debugging system issues, creating robust scripts, and automating administrative tasks. When to Use This Workflow Use this workflow when: Debugging shell script errors Creating production-ready bash scripts Troubleshooting system issues Automating system administration tasks Managing processes and services Configuring system resources Workflow Phases Phase 1: Environment Assessment Skills to Invoke bash-linux - Linux bash patterns bash-pro - Professional bash scripting bash-defensive-patterns - Defensive scripting Actions Identify operating system and version Check available tools and commands Verify permissions and access Assess system resources Review logs and error messages Diagnostic Commands

System information

uname -a cat /etc/os-release hostnamectl

Resource usage

top htop df -h free -m

Process information

ps aux pgrep -f pattern lsof -i :port

Network status

netstat -tulpn ss -tulpn ip addr show Copy-Paste Prompts Use @bash-linux to diagnose system performance issues Phase 2: Script Analysis Skills to Invoke bash-defensive-patterns - Defensive scripting shellcheck-configuration - ShellCheck linting bats-testing-patterns - Bats testing Actions Run ShellCheck for linting Analyze script structure Identify potential issues Check error handling Verify variable usage ShellCheck Usage

Install ShellCheck

sudo apt install shellcheck

Debian/Ubuntu

brew install shellcheck

macOS

Run ShellCheck

shellcheck script.sh shellcheck -f gcc script.sh

Fix common issues

- Use quotes around variables

- Check exit codes

- Handle errors properly

Copy-Paste Prompts Use @shellcheck-configuration to lint and fix shell scripts Phase 3: Debugging Skills to Invoke systematic-debugging - Systematic debugging debugger - Debugging specialist error-detective - Error pattern detection Actions Enable debug mode Add logging statements Trace execution flow Isolate failing sections Test components individually Debug Techniques

Enable debug mode

set -x

Print commands

set -e

Exit on error

set -u

Exit on undefined variable

set -o pipefail

Pipeline failure detection

Add logging

log ( ) { echo "[ $( date '+%Y-%m-%d %H:%M:%S' ) ] $* "

/var/log/script.log }

Trap errors

trap 'echo "Error on line $LINENO"' ERR

Test sections

bash -n script.sh

Syntax check

bash -x script.sh

Trace execution

Copy-Paste Prompts Use @systematic-debugging to trace and fix shell script errors Phase 4: Script Development Skills to Invoke bash-pro - Professional scripting bash-defensive-patterns - Defensive patterns linux-shell-scripting - Shell scripting Actions Design script structure Implement functions Add error handling Include input validation Add help documentation Script Template

!/usr/bin/env bash

set -euo pipefail

Constants

readonly SCRIPT_NAME = $( basename " $0 " ) readonly SCRIPT_DIR = $( cd " $( dirname " $0 " ) " && pwd )

Logging

log ( ) { local level = " $1 " shift echo "[ $( date '+%Y-%m-%d %H:%M:%S' ) ] [ $level ] $* "

&2 } info ( ) { log "INFO" " $@ " ; } warn ( ) { log "WARN" " $@ " ; } error ( ) { log "ERROR" " $@ " ; exit 1 ; }

Usage

usage ( ) { cat << EOF Usage: $SCRIPT_NAME [OPTIONS] Options: -h, --help Show this help message -v, --verbose Enable verbose output -d, --debug Enable debug mode Examples: $SCRIPT_NAME --verbose $SCRIPT_NAME -d EOF }

Main function

main ( ) { local verbose = false local debug = false while [ [ $# -gt 0 ] ] ; do case " $1 " in -h | --help ) usage exit 0 ; ; -v | --verbose ) verbose = true shift ; ; -d | --debug ) debug = true set -x shift ; ; * ) error "Unknown option: $1 " ; ; esac done info "Script started"

Your code here

info "Script completed" } main " $@ " Copy-Paste Prompts Use @bash-pro to create a production-ready backup script Use @linux-shell-scripting to automate system maintenance tasks Phase 5: Testing Skills to Invoke bats-testing-patterns - Bats testing framework test-automator - Test automation Actions Write Bats tests Test edge cases Test error conditions Verify expected outputs Run test suite Bats Test Example

!/usr/bin/env bats

@test "script returns success" { run ./script.sh [ " $status " -eq 0 ] } @test "script handles missing arguments" { run ./script.sh [ " $status " -ne 0 ] [ " $output " == * "Usage:" * ] } @test "script creates expected output" { run ./script.sh --output test.txt [ -f "test.txt" ] } Copy-Paste Prompts Use @bats-testing-patterns to write tests for shell scripts Phase 6: System Troubleshooting Skills to Invoke devops-troubleshooter - DevOps troubleshooting incident-responder - Incident response server-management - Server management Actions Identify symptoms Check system logs Analyze resource usage Test connectivity Verify configurations Implement fixes Troubleshooting Commands

Check logs

journalctl -xe tail -f /var/log/syslog dmesg | tail

Network troubleshooting

ping host traceroute host curl -v http://host dig domain nslookup domain

Process troubleshooting

strace -p PID lsof -p PID iotop

Disk troubleshooting

du -sh /* find / -type f -size +100M lsof | grep deleted Copy-Paste Prompts Use @devops-troubleshooter to diagnose server connectivity issues Use @incident-responder to investigate system outage Phase 7: Automation Skills to Invoke workflow-automation - Workflow automation cicd-automation-workflow-automate - CI/CD automation linux-shell-scripting - Shell scripting Actions Identify automation opportunities Design automation workflows Implement scripts Schedule with cron/systemd Monitor automation health Cron Examples

Edit crontab

crontab -e

Backup every day at 2 AM

0 2 * * * /path/to/backup.sh

Clean logs weekly

0 3 * * 0 /path/to/cleanup.sh

Monitor disk space hourly

0 * * * * /path/to/monitor.sh Systemd Timer Example

/etc/systemd/system/backup.timer

[ Unit ] Description = Daily backup timer [ Timer ] OnCalendar = daily Persistent = true [ Install ] WantedBy = timers.target Copy-Paste Prompts Use @workflow-automation to create automated system maintenance workflow Common Troubleshooting Scenarios High CPU Usage top -bn1 | head -20 ps aux --sort = -%cpu | head -10 pidstat 1 5 Memory Issues free -h vmstat 1 10 cat /proc/meminfo Disk Space df -h du -sh /* 2

/dev/null | sort -h find / -type f -size +500M 2

/dev/null Network Issues ip addr show ip route show ss -tulpn curl -v http://target Service Failures systemctl status service-name journalctl -u service-name -f systemctl restart service-name Quality Gates Before completing workflow, verify: All scripts pass ShellCheck Tests pass with Bats Error handling implemented Logging configured Documentation complete Automation scheduled Related Workflow Bundles development - Software development cloud-devops - Cloud and DevOps security-audit - Security testing database - Database operations

返回排行榜