クリップボードにコピーしました!
文字列のecho

[echo] 実行して理解 引用符でスペースを正しく出力

created-2025/12/07 updated-2026/03/15

前書き

このリポジトリは、echoコマンドを実行して2つのスペースが含まれる文字列の出力結果を引用符有り無しで確認します

インストールする必要のあるコマンド

  1. 特に無し

クイックスタート

echoコマンドを実行して引用符で囲まれている場合とそうでない場合のコードを実行して出力してみてください

ubuntu

hello="hello world.txt"
echo "$hello"
echo $hello
出力結果
hello  world.txt
hello world.txt

macos

MacPorts

hello="hello world.txt"
echo "$hello"
echo $hello
出力結果
hello  world.txt
hello world.txt

windows

WSL2

hello="hello world.txt"
echo "$hello"
echo $hello
出力結果
hello  world.txt
hello world.txt

MSYS2 MINGW64

hello="hello world.txt"
echo "$hello"
echo $hello
出力結果
hello  world.txt
hello world.txt

実行手順

ubuntu

クリックして詳細を開く

事前確認

以下のコマンドを端末に打ち込んでcommand not foundが出なければokです

特にありません

preinstall

端末にcommand not foundが出たコマンドを以下のコマンドでインストールしてください

特にありません

コマンド

以下のコマンドを端末で実行することで詳細のような文字列が出力されるはずです

hello="hello world.txt"
echo "$hello"
echo $hello
詳細
hello  world.txt
hello world.txt

macos

クリックして詳細を開く

事前確認

以下のコマンドをターミナルに打ち込んでcommand not foundが出なければokです

特にありません

※macosはMacPortsパッケージマネージャを使用してコマンドを管理します。もしインストールしていない方は以下のリンクからMacPortsのインストール手順をご覧ください
またコマンドに別名を設定して既存の環境と競合しないでコマンドを呼び出せるようにします。
初めてこのブログを利用する方は、以下の2つの記事を参考に環境構築してください

preinstall

ターミナルでcommand not foundが出たコマンドを以下のコマンドでインストールしてエイリアスを設定してください

特にありません

コマンド

以下のコマンドをターミナルで実行することで詳細のような文字列が出力されるはずです

hello="hello world.txt"
echo "$hello"
echo $hello
詳細
hello  world.txt
hello world.txt

windows

クリックして詳細を開く

事前確認

以下のコマンドをプロンプトに打ち込んでcommand not foundが出なければokです

WSL2
特にありません
MSYS2 MINGW64
特にありません

※windowsはWSL2とMSYS2 MINGW64で確認しています。可能な限りWSL2をインストールしていただいて、もし設定できなかった場合はMSYS2をインストールすることで実行できますが、所々WSL2でしか実行できないコマンドが出てくるかもしれません。WSL2とMSYS2のインストール方法は下記の記事を参考にしてください

preinstall

プロンプトでcommand not foundが出たコマンドを以下のコマンドでインストールしてください

WSL2
特にありません
MSYS2 MINGW64
特にありません

コマンド

以下のコマンドをプロンプトで実行することで詳細のような文字列が出力されるはずです

WSL2
hello="hello world.txt"
echo "$hello"
echo $hello
詳細
hello  world.txt
hello world.txt
MSYS2 MINGW64
hello="hello world.txt"
echo "$hello"
echo $hello
詳細
hello  world.txt
hello world.txt

後書き

“(ダブルクオーテーション)をつけると与えた文字列のまま出力されますが、つけないとスペースを1つにして出力します

echo '$hello'

上記のように'(シングルクオーテーション)は変数展開しないので$helloが出力されます
以下のコードでは変数内の文字列をファイル名として利用しています
ファイル名やパスにスペースが含まれている場合は、スペースを正確に出力する必要があるので”(ダブルクオーテーション)を日頃からつけておくことを推奨しておきます

cat "$hello"

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

©︎ 2025-2026 todo