mcpField
B
bash-linux

bash-linux

github.com/sickn33開発48.7k1.8k 回インストール今日更新
リポジトリ

bash-linux について

Linux と macOS の利用者向けの Bash スキルです。コマンド連結、ファイル操作、プロセス管理、テキスト処理の基本パターンをまとめ、環境変数、ネットワーク操作、スクリプトのエラー処理も扱います。

主な機能

  1. 01コマンド連結とパイプ操作
  2. 02ファイル検索と内容の操作
  3. 03プロセスとポートの確認
  4. 04テキスト処理ツール
  5. 05環境変数とネットワークコマンド
  6. 06スクリプトのエラー処理と後片付け

活用シーン

  1. 01開発作業のコマンド連結
  2. 02ファイル検索とテキスト抽出
  3. 03プロセスや使用中ポートの確認
  4. 04エラー処理を含むシェルスクリプト作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill bash-linux

インストール後、Claude Code で/bash-linuxを入力して読み込まれたか確認します。

詳細

Bash Linux のパターン

Bash を Linux/macOS で使う際の基本的なパターンです。


1. 演算子の構文

コマンドの連結
演算子意味例
;順番に実行cmd1; cmd2
&&前のコマンドが成功した場合に実行npm install && npm run dev
||前のコマンドが失敗した場合に実行npm test || echo "Tests failed"
|出力をパイプで渡すls | grep ".js"

2. ファイル操作

基本的なコマンド
タスクコマンド
すべて一覧表示ls -la
ファイルを検索find . -name "*.js" -type f
ファイルの内容を表示cat file.txt
先頭から N 行を表示head -n 20 file.txt
末尾から N 行を表示tail -n 20 file.txt
ログを追跡tail -f log.txt
ファイル内を検索grep -r "pattern" --include="*.js"
ファイルサイズdu -sh *
ディスク使用量df -h

3. プロセス管理

タスクコマンド
プロセスを一覧表示ps aux
名前で検索ps aux | grep node
所有するプロセスを停止kill -TERM <verified-task-PID>;終了を確認し、必要な場合に限り段階を上げる
ポートの使用者を検索lsof -i :3000
ポートの所有者を確認lsof -nP -iTCP:3000 -sTCP:LISTEN;停止する前に所有者を確認
バックグラウンド実行npm run dev &
ジョブjobs -l
フォアグラウンドに戻すfg %1

4. テキスト処理

主なツール
ツール目的例
grep検索grep -rn "TODO" src/
sed置換をプレビューsed 's/old/new/g' file.txt(インプレース編集のフラグは macOS/GNU で異なります)
awk列を抽出awk '{print $1}' file.txt
cutフィールドを切り出すcut -d',' -f1 data.csv
sort行を並べ替えsort -u file.txt
uniq重複のない行を抽出sort file.txt | uniq -c
wc数を数えるwc -l file.txt

5. 環境変数

タスクコマンド
すべて表示env または printenv
1 つ表示echo $PATH
一時的に設定export VAR="value"
スクリプト内で設定VAR="value" command
PATH に追加export PATH="$PATH:/new/path"

6. ネットワーク

タスクコマンド
ダウンロードcurl -O https://example.com/file
API リクエストcurl -X GET https://api.example.com
JSON を POSTcurl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL
ポートを確認nc -zv localhost 3000
ネットワーク情報ifconfig または ip addr

7. スクリプトのテンプレート

#!/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. よく使うパターン

コマンドが存在するか確認
if command -v node &> /dev/null; then
    echo "Node is installed"
fi
変数のデフォルト値
NAME=${1:-"default_value"}
ファイルを 1 行ずつ読み込む
while IFS= read -r line; do
    echo "$line"
done < file.txt
ファイルをループ処理する
for file in *.js; do
    echo "Processing $file"
done

9. PowerShell との違い

タスクPowerShellBash
ファイルを一覧表示Get-ChildItemls -la
ファイルを検索Get-ChildItem -Recursefind . -type f
環境変数$env:VAR$VAR
文字列の連結"$a$b""$a$b"(同じ)
null チェックif ($x)if [ -n "$x" ]
パイプラインオブジェクトベーステキストベース

10. エラー処理

オプションを設定
set -e          # Exit on error
set -u          # Exit on undefined variable
set -o pipefail # Exit on pipe failure
set -x          # Debug only with non-secret inputs; prints expanded arguments
クリーンアップ用のトラップ
cleanup() {
    echo "Cleaning up..."
    rm -f /tmp/tempfile
}
trap cleanup EXIT

覚えておきましょう: Bash はテキストベースです。成功時に連結するには && を使い、変数は引用符で囲みます。set -e には条件式やパイプラインでの例外があるため、重要な操作は明示的に確認し、シェルフラグだけで完全に安全だと判断しないでください。

使用する場面

このスキルは、概要で説明されているワークフローまたはアクションを実行する場合に適用できます。

制限事項

  • 上記の説明にある範囲とタスクが明確に一致する場合にのみ、このスキルを使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認してください。

コメント