【初心者向け】echoコマンド「文字列を出力(標準出力)」- コピペで試せるオプション理解 -【Linuxコマンド入門 #12】

前回(#11)は、head tailコマンド(最初と最後を確認する)について学びました。

mvコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【初心者向け】mvコマンド「ファイルやフォルダを移動させる」- コピペで試せるオプション理解 -【Linuxコマンド入門 #8】

ファイルやディレクトリを「移動」させたり、「名前を変更」したりする mvコマンドについて紹介します。動作について説明し、よく使うオプションを優先的に紹介します。

UBUNTU-linuxコマンド入門シリーズのサムネイル。この記事シリーズでは、よく使うコマンドを優先的に紹介し、シリーズを通して最低限コマンドライン操作ができるようになることを目標に紹介しています。 18 記事
シリーズ

Linuxコマンド入門

LINUXコマンドの基礎について、ゼロから最低限ファイル操作などができるようになるまでの手順を紹介します。linux系な...

今回は、echoコマンドを扱えるようになりましょう。

echoコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

1. echoとは?

echoは、日本語に訳すと「こだま、反響」です。その名の通り、「引数(いんすう)として渡された文字列を、そのままターミナルに表示する」という非常にシンプルなコマンドです。

一見すると地味ですが、このechoは他の機能(特にリダイレクト)と組み合わせることで、Linux操作の核となる強力なツールに変わります。

echo Hello, World!
# Hello, World!

クォーテーション(")の役割

Hello, World!のようにスペースを含む文字列でもそのまま表示できますが、プログラミングの世界では、文字列を"(ダブルクォーテーション)や'(シングルクォーテーション)で囲むのが一般的です。

echo "Hello, World!"
Hello, World!

echoにおいては、この"'が「どこからどこまでが文字列か」を明示するために役立ちます。

2. echo の基本的な使い方

2-1. 【最重要機能】:環境変数の表示

echoが真価を発揮する場面の一つが、「環境変数」の中身を確認するときです。

環境変数とは、Linuxシステムが($PATH や $HOME のように)あらかじめ用意している、設定値が入った「箱」のようなものです。$\(ドルマーク)を変数名の前に付けることで、その「中身」を取り出せます。

# $HOME (自分のホームディレクトリ) を表示する
echo $HOME
# /home/tukumo

# $USER (現在のユーザー名) を表示する
echo $USER
# tukumo

【TIPS】"' の決定的な違い

ここで、ダブルクォーテーションとシングルクォーテーションの決定的な違いが生まれます。

  • " (ダブル): $を変数として解釈します(中身を展開します)
  • ' (シングル): $をただの文字として解釈します(そのまま表示します)
# ダブルクォーテーション
echo "私のホームディレクトリは $HOME です"
# 私のホームディレクトリは /home/tukumo です

# シングルクォーテーション
echo '私のホームディレクトリは $HOME です'
# 私のホームディレクトリは $HOME です

「変数を展開したいときは " を使う」と覚えておきましょう。

3. もっと詳しく見る Y の便利オプション

オプションは多くありませんが、2つだけ覚えておくと便利です。

3-1. -n (改行しない)

echoは、文字列を表示した後、自動的に「改行」を行います。 -n オプションを付けると、改行しなくなります。

# 通常のecho (最後に改行される)
echo "Hello"
# Hello
$ # <-- プロンプトは次の行に表示される

# -n オプション (改行されない)
echo -n "Hello"
# Hello$ # <-- プロンプトが "Hello" の直後に表示される

3-2. -e (エスケープ文字を有効にする)

-e オプションを付けると、\(バックスラッシュ)から始まる「エスケープ文字」を特別な意味として解釈してくれます。

  • \n : newline (改行)
  • \t : tab (タブ、一定の幅の空白)
# -e がないと、そのまま表示される
echo "Line 1\nLine 2"
# Line 1\nLine 2

# -e を付けると、\n が改行として機能する
echo -e "Line 1\nLine 2"
# Line 1
# Line 2

# \t はタブとして機能する
echo -e "Item:\tApple\nPrice:\t100"
# Item:   Apple
# Price:  100

4. 最重要:ファイルへの書き込み(リダイレクト)

ここからが本題です。 echoは、デフォルトでは「ターミナルの画面」に文字列を出力します。この出力先を「ファイル」に変更する機能をリダイレクトと呼びます。

4-1. > (上書き)

>(大なり記号)は、出力をファイルに向けます。

  • もしファイルが存在しない場合:新規作成します。
  • もしファイルが存在する場合:中身をすべて消して上書きします。(危険!
# "Hello" という文字列を "memo.txt" に書き込む
echo "This is my memo." > memo.txt

4-2. >> (追記)

>>(大なり記号2つ)は、ファイルの末尾に追記します。 こちらの方が安全に使えることが多いです。

# >> を使って "memo.txt" に追記する
echo "Add this line." >> memo.txt

第12回のまとめ

  • echo : テキストを標準出力
  • “” と” :””は変数を展開,’’は文字列として扱う
  • echo > ~~.txt : をファイルに上書き
  • echo >> ~~.txt : をファイルに追記

次回予告

お疲れ様でした! 今回は echoについて紹介しました。次回(#13)は、Linuxの標準コマンドではありませんが、ターミナル上でファイルに書き込めるエディタ(vimとnano)について軽く触れてみようと思います。

(nanoやvimは奥が深く特にvimに関しては、身に着けると”VScodeのようなエディタより早くプログラミングできるようになる”(諸説あり)といわれているほどショートカットなどが豊富なので、ここではあまり深入りしないことにします。)

vimとnano,linux系のターミナルエディタの2種類について初心者向けに最低限度扱えるようにするための方法紹介

【初心者向け】nano / vim「ターミナルでファイル編集」- 2大エディタの基本操作 -【Linuxコマンド入門 #13】

linuxターミナルで閊える2大エディタ nanoとvimについて、最低限の操作を紹介します。 基本はこれだけ覚えておけばいいと初心者向けの入門編。

UBUNTU-linuxコマンド入門シリーズのサムネイル。この記事シリーズでは、よく使うコマンドを優先的に紹介し、シリーズを通して最低限コマンドライン操作ができるようになることを目標に紹介しています。 18 記事
シリーズ

Linuxコマンド入門

LINUXコマンドの基礎について、ゼロから最低限ファイル操作などができるようになるまでの手順を紹介します。linux系な...