-
Linuxターミナルをマスターしよう:パイプとリダイレクト徹底ガイド
Linuxのコマンドラインインターフェース(CLI)は、システム上でさまざまなタスクを実行できる強力な手段です。Linuxはその歴史的な背景から、ターミナルに数多くの便利な機能が組み込まれています。 その中でも特に強力なのが「パイプ」と「リダイレクト」です。これらの機能を使いこなせるようになると、コマンドの出力や入力を他のコマンドやファイルへ柔軟に振り分けられるようになり、作業効率が大きく向上します。 この記事では、Linuxにおけるパイプとリダイレクトの意味を解説したうえで、実際に自分で使えるようになるための具体的な方法を詳しく掘り下げていきます。 前提知識 このガイドの内容を十分に理解する
-
Bashスクリプトでブランチ固有のNetlify設定を自動化する方法 – ステップバイステップ完全ガイド
ステージング環境と本番環境など、複数の環境を持つプロジェクトでバックエンドAPIやフロントエンドのデプロイを行う場合、リポジトリ内の各ブランチに応じた正しい設定とコマンドを用意する必要があります。しかし、複数の開発者が同じコードベースで作業し、それぞれ異なるブランチへ変更を加えている状況では、この管理は非常に煩雑になりがちです。すべてのプルリクエストやブランチへの変更について、マージするかどうかを判断する前に、追加・修正・削除されたコードの行を確認する必要があります。設定ファイルも例外ではなく、わずかな変更がCI(継続的インテグレーション)全体に影響を及ぼす可能性があるため、ミスが起きやすい箇
-
スクリプト入門から実践まで:反復タスクの自動化で開発者の生産性を最大化する方法
堅牢で高品質なソフトウェア構築の経験を積んだ開発者ほど、仕事の多くをスクリプトによって自動化する傾向があります。その範囲は、シンプルなBashコマンドのエイリアスから、サーバー上で定期的に実行されるCronジョブまで多岐にわたります。このチュートリアルでは、スクリプティングとは何か、そのさまざまなユースケース、そしてスクリプトを活用することのメリットとデメリットについて解説します。さらに、実際のサンプルスクリプトもいくつか紹介し、動作を確認できるようにします。スクリプトとは何か?スクリプトとは、Bash、Python、JavaScriptなどのスクリプト言語で記述された一連の命令文であり、タス
-
サンプルシェルスクリプト4選で学ぶBashの特殊パラメータ
これまでのBashチュートリアルシリーズでは、位置パラメータ(ポジショナルパラメータ)について解説してきました。本記事では、実用的なシェルスクリプトのサンプルを交えながら、Bashの特殊パラメータについて詳しく見ていきます。 本記事で取り上げる主な特殊パラメータは以下のとおりです:$*、$@、$#、$$、$!、$?、$-、$_ $* と $@ の違い 位置パラメータの一覧全体にアクセスするには、$* と $@ の2つの特殊パラメータを使用します。ダブルクォートで囲まれていない場合、この2つはほぼ同等であり、どちらもスペース区切りの位置パラメータリスト($1 $2 $3…)に展開されます。 しか
-
【保存版】Bash配列チュートリアル:実例15選で基礎から応用まで完全マスター
配列とは、同じ型でも異なる型でも構わない複数の値を格納できる変数のことです。Bashの配列にはサイズの上限がなく、メンバー変数を連続したインデックスで代入・管理する必要もありません。なお、配列のインデックスは0から始まります。 この記事では、Bashにおける15種類の配列操作を順番に解説していきます。本記事は連載「Bashチュートリアルシリーズ」の一部です。Bashスクリプトが初めての方は、まず「Bashスクリプト入門」のチュートリアルから読み進めることをおすすめします。 1. 配列の宣言と値の代入 Bashでは、次のような形式で変数を使用すると、配列が自動的に作成されます。 name[ind
-
Bashブレース展開チュートリアル:波括弧{}で式を展開する6つの実例
Bashシェルの展開(Expansion)とは シェルが入力を解析する際に実行する処理の一つが「シェル展開」です。Bashにはさまざまな種類の展開機能が用意されており、本記事ではその中でも特に重要な「ブレース展開(波括弧展開)」について詳しく解説します。 この記事は、連載中のBashチュートリアルシリーズの一部です。 ブレース展開の基本 ブレース展開は、任意の文字列を生成するための機能です。1つの引数から複数のコマンドライン引数を簡単に作成できます。波括弧 {} 内に指定した文字列に対して、前後に置く文字列(プレアンブル/ポストスクリプト)を組み合わせることで、すべての組み合わせが自動的に生成
-
「~」の魔法:Bashのチルダ展開を5つの例で解説
Bashシェルには、「~」(チルダ)で始まる特殊な変数が用意されており、これらは「チルダ展開(Tilde Expansion)」と呼ばれます。 これらは、シェル内の他の変数の内容を指す別名(シノニム)のようなものです。 チルダ展開とは、これらの省略表記を、それが表す実際のディレクトリ名に変換する処理のことです。この記事では、具体的な例を交えながらチルダ展開の機能を詳しく解説します。 チルダ展開は、「~」に「+」「-」、または整数Nを組み合わせた形で、空白またはスラッシュまでの範囲に適用されます。 チルダ展開は、次のような特定のパス名への展開に使用されます。 ホームディレクトリ 現在/直前の作
-
Bashのif文4パターン徹底解説(if then fi / if else / elif / ネスト)実例付き
Bashの条件分岐ステートメントは、プログラマが指定した条件式が真(true)か偽(false)かを評価し、その結果に応じて異なる処理を実行する仕組みです。条件によってシェルスクリプトの処理を切り替えられるため、スクリプトの柔軟性と表現力が大きく向上します。 Bashには、主に以下の4種類の条件分岐ステートメントがあります。 if..then..fi 文(単純なif) if..then..else..fi 文(if-else) if..elif..else..fi 文(else-ifによる多分岐) if..then..else..if..then..fi..fi 文(ネストされたif) こ
-
Bash条件式の実例6選!-e・-eq・-z・!=・[・[[ の使い方を徹底解説
Bashにおける「条件式」とは、演算子・関数・値を組み合わせて条件分岐文を構成するための式のことです。条件式には、数値や文字列、あるいは成功時に終了ステータス0を返すコマンドなどを扱う単項式や二項式があります。 ファイルの状態をテストするための条件式は数多く用意されています。ここでは、特に役立つ代表的な条件式を紹介します。 [ -e ファイルパス ] … ファイルが存在する場合に真を返します。 [ -x ファイルパス ] … ファイルが存在し、かつ実行可能な場合に真を返します。 [ -S ファイルパス ] … ファイルが存在し、かつソケットファイルである場合に真を返します。 [ 式1 -a
-
Bashループ完全ガイド!for・while・untilの基本構文と実用例
ループ文とは、プログラムに対して同じ処理を繰り返し実行させるための制御構造です。繰り返し実行される一連の命令は「ループ本体(ボディ)」と呼ばれます。 ループは、制御式の評価結果が0(偽)になるまで実行を続けます。制御式には任意のスカラー型のデータを指定できます。 シェル言語にも、反復処理を行うための構文が複数用意されています。この記事では、Bashが提供する各ループ構文を具体的なサンプルとともに解説します。 Bashで使える3種類のループ構文 forループ whileループ untilループ 本記事は、連載「Bashチュートリアル」シリーズの一部です。 また、ループはネスト(入れ子)にする
-
Bashのcase文を徹底解説!実務で使える5つの実践例
Bashシェルのcase文は、C言語のswitch文に似た構文で、整数や文字列などの単純な値を判定するのに適しています。 case文はループ構造ではないため、同じコードブロックを繰り返し実行することはありません。代わりに、条件を評価してプログラムの処理フローを制御する役割を担います。 この記事では、Bashのcaseコマンドを実践的な5つの例とともに詳しく見ていきましょう。 case文の基本構文 Bashのcase文では、ワイルドカード文字を含むパターンに対して文字列を照合できます。case文は、if-then-elseステートメントをより簡潔に書ける最もシンプルな形式と言えます。 Bash
-
Unixシェル入門:現在のシェルの確認方法と、Bashから他のシェルへの一時的・永続的な変更手順
質問:現在自分がどのUnixシェルを使っているか調べるにはどうすればよいですか?また、Unixのシェルを一時的、あるいは恒久的に(たとえばbashからtcshへ)変更する方法も教えてください。 回答:これらの操作は、$0、exec、chsh -s を使うことで実現できます。本記事では、それぞれの手順を詳しく解説します。 1. 現在使っているUnixシェルを確認する echo $0 コマンドを実行すると、現在使用中のシェル名を表示できます。 $ echo $0 /bin/bash この例では、現在 /bin/bash が動作していることがわかります。 2. シェルを一時的に変更する方法 exec
-
BASHコマンドラインでVi風の編集を使う方法|set -o viの基本と活用テクニック
質問:私はViスタイルの編集が好きで、Viコマンドにもとても慣れています。Unixのコマンドラインでも、Viスタイルの行編集を使うことはできますか? 回答:はい、できます。Unixシェルで set -o vi を実行するだけで、コマンドラインのViスタイル編集が有効になります。 BASHでViスタイル編集を有効にする方法 $ set -o vi 実は、BASHのコマンドラインはデフォルトでemacsモードに設定されています。そのため、普段からViを使っている人にとっては、キー操作がしっくりこないことがあります。set -o vi を実行すれば、おなじみのViの操作性をコマンドラインでも再現でき
-
実用的な5つの例で学ぶBashスクリプト入門チュートリアル
Unix SedやUnix Awkシリーズと同様に、本シリーズではBashスクリプティングに関する記事を複数回にわたって公開します。実用的なサンプルを交えながら、Bashスクリプティングのテクニックを幅広く解説していきます。 シェルとは、ユーザーが入力したコマンドを解釈して実行するプログラムです。コマンドはユーザーが直接入力するか、「シェルスクリプト」と呼ばれるファイルから読み込まれます。 ユーザーからの入力を直接読み取る場合、そのシェルは対話型(インタラクティブ)シェルと呼ばれます。 一方、ファイルからコマンドを読み込んで実行する場合は非対話型(ノンインタラクティブ)シェルと呼ばれます。この
-
Bashシェル終了ステータス入門:実例で学ぶ$?変数と終了コードの意味
Bash入門記事では、シェルスクリプトファイルが「シェルインタプリタによって実行されるコマンドのリスト」であることを学びました。本記事ではさらに一歩進んで、シェルコマンドの仕組みと、その内部動作である「終了ステータス」について詳しく解説します。 コマンドとは何か コマンドとは、単語の連なりとして表現されるものです。最初の単語が実行するコマンドを示し、残りの単語は引数としてコマンドに渡されます。引数には、コマンドの挙動を指定するオプションや、対象となるパラメータが含まれます。 コマンドラインで日常的に実行している一般的なUnixコマンドも、すべてシェルコマンドです。たとえば、ls、lpr、gre
-
Bashエイリアス入門:aliasコマンドの基本から実践的な活用例まで徹底解説
写真提供: pchow98 ドラマ『エイリアス』のジェニファー・ガーナーのように華麗に活躍することはできなくても、Linuxのaliasコマンドを効果的に使いこなすことは誰にでも可能です。 aliasコマンドとは、簡単に言えば「文字列の置き換え」機能です。ある名前を入力すると、それが事前に登録しておいた別のコマンド(オプション付き)へと自動的に置き換えられて実行されます。 この記事では、bashエイリアスの一時的な設定・解除方法と、永続的な設定方法を解説します。さらに、bashの起動ファイルにそのまま組み込める便利なエイリアスの実例も多数紹介します。 本記事は、継続的に公開しているbashチュ
-
Bashシェル関数入門:実用的な6つのサンプル例で学ぶチュートリアル
Bashシェル関数とは、複数のUNIX/Linuxコマンドをひとつの名前でグループ化し、後からまとめて実行できるようにする仕組みです。Bashシェル関数は通常のUnixコマンドと同じように呼び出すことができ、現在のシェルコンテキスト内で実行されるため、解釈用の新しいプロセスを生成する必要がありません。bashのエイリアス(alias)と関数はどちらも、長いコマンドや複雑なコマンドに対するショートカットを定義するのに役立ちます。しかし、エイリアスでは制御フローや引数の扱いなど、関数ならではの高度な処理を行うことはできません。本記事では、その違いも含めて詳しく解説していきます。この記事は、進行中の
-
Bash変数チュートリアル – 基本からグローバル変数・ローカル変数まで学べる6つの実用例
Bash変数は、プログラムの実行期間中に必要となる情報を一時的に保存しておくための仕組みです。本記事はBashチュートリアルシリーズの一篇で、他のプログラミング言語と同様にBashでも変数を利用できることを踏まえ、基本的な使い方からグローバル変数とローカル変数の違いまでを、6つの実用的なサンプルを通じて解説します。 Bash変数の基本構文 変数の定義は非常にシンプルで、次の書式に従います。 VARNAME=VALUE 注意: 変数へ代入する際は、「=」記号の前後にスペースを入れてはいけません。「VAR=VALUE」のように書けば、シェルは「=」を代入記号として認識し、この行を変数への代入とし
-
2つのサンプルシェルスクリプトで学ぶBash位置パラメータの使い方
Bashのパラメータとは パラメータとは、値を格納するための実体です。名前・数字・特殊文字のいずれかで表され、このうち名前で表されるパラメータを「変数」と呼びます。一部の変数はあらかじめシステムによって設定されており、その多くにはユーザーが値を代入することはできません。 こうした変数には有用な情報が格納されており、シェルスクリプトはこれらを参照することで、自分がどのような環境で実行されているのかを把握できます。 Bashが提供するパラメータには、主に次の2種類があります。 位置パラメータ(Positional Parameter) 特殊パラメータ(Special Parameter) 本記
-
Bashシェルのプロンプトを制御する:PS1・PS2・PS3・PS4・PROMPT_COMMANDの使い方
PS1、PS2、PS3、PS4、PROMPT_COMMANDといった環境変数を効果的に使いこなせば、Linux Bashシェルとのやり取りは格段に快適になります。「PS」は「Prompt Statement(プロンプトステートメント)」の略です。この記事では、シンプルな実行例を通じて、Linuxのコマンドプロンプトに関わる環境変数の基本をわかりやすく解説します。 1. PS1 ― デフォルトの対話型プロンプト Linuxのデフォルトの対話型プロンプトは、自由にカスタマイズして、より実用的で情報量の多い表示にできます。次の例では、デフォルトのPS1である「\s-\v\$」(シェル名とバージョ