mcpField
B
bash-linux

bash-linux

github.com/davila7開発33.1k404 回インストール今日更新
リポジトリ

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/davila7/claude-code-templates --skill bash-linux

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

詳細

Bash Linux パターン

Linux/macOS 向け Bash の必須パターン集です。


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
PID で終了kill -9 <PID>
ポートの使用者を検索lsof -i :3000
ポートのプロセスを終了kill -9 $(lsof -t -i :3000)
バックグラウンドで実行npm run dev &
ジョブ一覧jobs -l
フォアグラウンドに戻すfg %1

4. テキスト処理

主要ツール
ツール用途例
grep検索grep -rn "TODO" src/
sed置換sed -i 's/old/new/g' file.txt
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: print commands
クリーンアップ用の trap
cleanup() {
    echo "Cleaning up..."
    rm -f /tmp/tempfile
}
trap cleanup EXIT

覚えておくこと: Bash はテキストベースです。成功時の連結には && を使い、安全のために set -e を使い、変数は必ずクォートしてください。

コメント