スキル posix-shell-pro
🐚

posix-shell-pro

安全 ⚙️ 外部コマンド

あらゆる Unix システムで動作する移植可能な POSIX シェルスクリプトを作成する

シェルスクリプトは bash 固有の機能により、異なるシステムで失敗することがあります。このスキルは、厳密な POSIX 準拠を使用することで、スクリプトがどこでも動作することを保証します。

対応: Claude Codex Code(CC)
🥉 74 ブロンズ
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「posix-shell-pro」を使用しています。 ディレクトリをバックアップする検証付き POSIX スクリプトを作成する

期待される結果:

  • #!/bin/sh
  • set -eu
  •  
  • Usage: backup.sh <source_dir> <dest_dir>
  •  
  • if [ $# -lt 2 ]; then
  • echo "Error: source and destination required" >&2
  • exit 1
  • fi
  •  
  • src="$1"
  • dest="$2"
  •  
  • [ -d "$src" ] || { echo "Source not a directory" >&2; exit 1; }
  • mkdir -p "$dest" || exit 1
  •  
  • tar -cf - -C "$src" . | (cd "$dest" && tar -xf -)
  • echo "Backup completed successfully"

「posix-shell-pro」を使用しています。 移植可能な方法でコマンドの存在をチェックする

期待される結果:

Use: command -v cmd >/dev/null 2>&1 && echo "found" || echo "missing"

セキュリティ監査

安全
v1 • 2/24/2026

This is a prompt-only skill with no executable code. Static analysis scanned 0 files and detected 0 security issues with a risk score of 0/100. The skill provides instructional content on POSIX shell scripting best practices and actually promotes security patterns including input validation, safe variable quoting, cleanup traps, and warnings against eval on untrusted input. No network calls, command execution, or sensitive operations detected.

0
スキャンされたファイル
0
解析された行数
1
検出結果
1
総監査数

リスク要因

⚙️ 外部コマンド
特定の場所は記録されていません
監査者: claude

品質スコア

38
アーキテクチャ
100
保守性
87
コンテンツ
50
コミュニティ
100
セキュリティ
91
仕様準拠

作れるもの

クロスプラットフォームデプロイメントスクリプト

bash のインストールを必要とせず、Linux、BSD、macOS、および組み込みシステムで同一に動作するインストールおよびデプロイメントスクリプトを作成する。

コンテナおよび組み込みシステムツール

bash が利用できない Alpine Linux、BusyBox、およびリソース制約のある環境向けの軽量スクリプトを構築する。

レガシーシステム管理

bash がないか古いバージョンを使用する Solaris、AIX、レガシー Linux などの古い Unix システム向けスクリプトを維持および近代化する。

これらのプロンプトを試す

基本的な POSIX スクリプトテンプレート
入力引数を検証し、シンプルなファイル操作を実行する POSIX 準拠のシェルスクリプトを作成する。set -eu による適切なエラーハンドリング、入力検証、およびクリーンアップトラップを含めること。
bash を POSIX に変換
この bash スクリプトを厳密な POSIX sh に変換する。すべての配列、[[ 条件分岐、および bash 固有の機能を POSIX 準拠の相当品に置き換えること。行った各変更を説明すること。
移植可能な引数解析
ヘルプ用の -h、詳細表示用の -v、出力ファイル用の -o、および位置引数を受け付けるスクリプト向けの POSIX 準拠の引数解析を実装する。long オプションには getopts の代わりに while と case を使用すること。
クロスプラットフォーム互換性ヘルパー
Linux、BSD、macOS、BusyBox 間のプラットフォームの違いを処理する POSIX シェル関数ライブラリを作成する。OS 検出、コマンド可用性チェック、および共通ユーティリティの移植可能な実装を含めること。

ベストプラクティス

  • ワードSplitting とグロービングを防止するために、変数展開は常に "$var" として引用する
  • echo の動作はシェルによって異なるため、すべての出力に echo ではなく printf を使用する
  • EXIT、INT、TERM シグナルで一時ファイルを削除するために、trap コマンドでクリーンアップを実装する

回避

  • dash、ash、およびその他の POSIX シェルで失敗する [[ 条件分岐または bash 配列を使用する
  • 異なるシステム間で動作が一貫しない echo -e または echo -n を使用する
  • パイプおよびドット演算子の代わりにプロセス置換 <() または source コマンドを使用する

よくある質問

POSIX sh と bash の違いは何ですか?
POSIX sh は、すべての Unix システムで動作する標準化された最小限のシェルである。bash は配列、[[ 条件分岐、プロセス置換などの多くの拡張機能を追加しており、移植性を損なう。POSIX 機能のみを使用するスクリプトは、dash、ash、busybox、およびすべての POSIX 準拠シェルで動作する。
スクリプトが実際に POSIX 準拠かどうかをテストするにはどうすればよいですか?
dash は POSIX 準拠に厳密であるため、スクリプトを dash ./script.sh で実行する。また、ShellCheck を -s sh フラグで使用し、checkbashisms を使用して、他のシェルで失敗する bash 固有の構造を検出する。
POSIX sh 関数でローカル変数を使用できますか?
local キーワードは POSIX 準拠ではない。func_name_var のような関数プレフィックスを持つ一意の変数名を使用するか、グローバル変数に注意すること。一部のシェルは local をサポートしているが、厳密な POSIX シェルでは失敗する。
POSIX sh で bash 配列を置き換えるものは何ですか?
set -- item1 item2 を使用した位置パラメータを使用し、for arg で反復する。区切り文字付きデータには、コロンまたは改行区切りを使用した IFS 操作を使用する。複数の値を個別の引数として関数に渡す。
このスキルは Claude Codex および Claude Code と互換性がありますか?
はい、このスキルは Claude Codex および Claude Code と互換性がある。スクリプトを生成またはレビューするために使用する AI アシスタントに関係なく、POSIX シェルスクリプトに関するガイダンスを提供する。
POSIX スクリプトは Docker コンテナで動作しますか?
はい、特に busybox ash をデフォルトシェルとして使用する Alpine Linux などの最小限のコンテナで有用である。POSIX スクリプトは bash をインストールせずに任意のコンテナで動作し、小さなコンテナイメージに理想的である。

開発者の詳細

ファイル構成

📄 SKILL.md