やまどり

Shell 引数エスケープ

空白やクォートを含む文字列を、POSIX shell に貼り付けやすい引数へ変換します。

'hello world' 'it'\''s fine' /path/to/app

Bash、dash、zsh などの一般的な POSIX 互換 shell 向けです。

Shell 引数エスケープとは

シェルスクリプトやコマンドラインで文字列を引数として渡す場合、スペース・シングルクォート・ドル記号などの特殊文字をそのまま貼り付けると意図しない動作をすることがあります。このツールは、任意の文字列を POSIX shell で安全に使える形式に自動変換します。

エスケープが必要なケース

  • ファイル名にスペースが含まれる場合(例: My Document.pdf
  • パスワードや API キーなどに記号が含まれる場合
  • JSON 文字列をコマンド引数として渡す場合
  • curl -dssh コマンドに複雑な文字列を渡す場合

変換例

入力:It's a "test" value

出力:'It'"'"'s a "test" value'

変換ルール

POSIX シェルのシングルクォート囲み方式を採用しています。シングルクォート自体は '"'"' というパターンで安全にエスケープします。この方式は bash・zsh・dash など主要シェルすべてで動作します。

注意点

  • Windows の cmd.exe や PowerShell には対応していません(POSIX 準拠シェル専用)
  • 変数展開($VAR)を意図的に使いたい場合はダブルクォートを使用してください

Shell引数を安全に組み立てる手順

  1. STEP 1コマンドへ渡したい値を一項目ずつ入力します。
  2. STEP 2POSIX shell向けに変換された引用形式を確認します。
  3. STEP 3コマンド本体と組み合わせ、実行前に引数の境界を読み直します。

具体的な利用例

空白、アポストロフィ、ドル記号を含むファイル名を一つの引数として渡す場合に便利です。手作業で引用符を重ねるより、文字列が別のオプションやコマンドとして解釈される事故を減らせます。

結果を見るときの注意点

出力はPOSIX系shellを想定しており、PowerShellやcmd.exeとは規則が異なります。また、引用が正しくてもコマンド自体の危険なオプションは無効になりません。実行先とコマンド内容を必ず確認してください。

入力データの扱い

処理はこのブラウザ内で完結し、入力したテキストやファイルは変換・解析のために外部サーバーへ送信されません。共有端末を使う場合は、作業後に入力欄とクリップボードの内容も消去してください。