【Linux】echoコマンド実行時に文字列としてシングルクォーテーション「’」を使う方法

echoコマンド実行時に文字列としてシングルクォーテーションを使う方法
この記事を読むと・・・
echoコマンドでシングルクォーテーション「’」を文字列として使用する方法が理解できる
目次

シングルクォーテーションを文字列として使う方法

OSのバージョンによって出力結果に若干の違いがある可能性があります。

サンプルの文字列として以下の文を使用します。

Lpic ha ‘Linux’ no sikakuda !

メッセージ全体をダブルクォーテーションで括った場合

ダブルクォーテーションで括った場合、以下の実行結果のようにシングルクォーテーションが文字列として認識されます。
文字列としてダブルクォーテーションを使わない場合はこの方法でOKです。

# echo "Lpic ha 'Linux' no sikakuda !"
Lpic ha 'Linux' no sikakuda !

メッセージ全体をシングルクォーテーションで括った場合

ダブルクォーテーションで括った場合、以下の実行結果のようにシングルクォーテーションが消えてしまいます。
このやり方ではシングルクォーテーションは文字列としては扱えません。

# echo 'Lpic ha 'Linux' no sikakuda !'
Lpic ha Linux no sikakuda !

メッセージ全体をシングルクォーテーションで括り、シングルクォーテーションを文字列として認識させる場合

シングルクォーテーションの中でシングルクォーテーションのエスケープはできないため、シングルクォーテーション前で一度文字列を認識させ、次にシングルクォーテーション単体を文字列として認識させ、また文字列を認識…とする必要があります。
シングルクォーテーション単体はバックスラッシュ(\)を使用し文字列として認識させます。
つまりサンプルの文字列だと、以下のように表のように文字列を分割する必要があります。

サンプルの文字列分割分割後の表記
Lpic ha ‘Lpic ha ‘
※シングルクォーテーション\’
Linux‘Linux’
※シングルクォーテーション\’
no sikakuda !‘ no sikakuda !’

すると、以下の実行結果のようにシングルクォーテーションが文字列として認識されます。
要約すると文字列として認識させたいシングルクォーテーションの前に「’\’」を追加すればOKです。

# echo 'Lpic ha '\''Linux'\'' no sikakuda !'
Lpic ha 'Linux' no sikakuda !
よかったらシェアしてね!
  • URLをコピーしました!
目次