exprコマンド

はじめに こんにちは!今回はexprコマンドについて解説します。 exprは、数学式や文字列操作の式を評価するコマンドです。シェルスクリプトで計算や文字列操作をする時に活躍します。 古いスクリプトによく出てくるコマンドですね。 exprコマンドとは exprは、数式や文字列操作を評価して結果を返す外部コマンドです。 主な機能: 数値計算 - 足し算、引き算、掛け算、割り算 比較演算 - 大小比較、等号比較 文字列操作 - 文字列の抽出、置換、長さの取得 正規表現マッチ - パターンマッチングと抽出 論理演算 - AND、OR、NOT スクリプトで値を計算したり、文字列を処理したりするのに便利です。 基本構文 1 expr 式 複数の項や演算子を空白で区切ります。 主なオプション 演算子 説明 例 + 足し算 expr 10 + 5 - 引き算 expr 10 - 3 * 掛け算 expr 10 '*' 5 / 割り算 expr 20 / 4 % 余り expr 20 % 3 = 等号 expr 10 = 10 != 不等号 expr 10 != 5 < より小さい expr 5 < 10 <= 以下 expr 5 '<=' 10 > より大きい expr 10 '>' 5 >= 以上 expr 10 '>=' 5 使用例 例1: 簡単な足し算 1 expr 10 + 5 実行結果: ...

2026年1月3日 · 2 分 · 421 文字 · 須藤権限

bcコマンド

はじめに こんにちは!今回はbcコマンドについて解説します。 bcは、任意精度の計算(big number 計算)ができるコマンドです。シェルの組み込み計算では対応できない、小数点が多い計算や高精度が必要な計算に活躍します。 数値計算が必要な時には、めっちゃ便利ですよ。 bcコマンドとは bcは、任意精度の言語による計算と処理を行う外部コマンドです。 主な特徴: 高精度計算 - 小数点以下の桁数を自由に設定 大きな数値対応 - シェルの計算限界を超える 関数サポート - sin、cos、sqrt(平方根)など ループ・条件判定 - 簡単なプログラミング可能 進数変換 - 2進数、16進数などの変換 電卓よりはるかに高機能で、複雑な計算を簡単に実行できます。 基本構文 1 echo "計算式" | bc [オプション] または、対話モードで実行: 1 bc [オプション] 主なオプション オプション 説明 -l 数学ライブラリを読み込む(sinなど) -w 警告を表示 -q 起動メッセージを表示しない -v バージョンを表示 使用例 例1: 基本的な計算 1 echo "2 + 3" | bc 実行結果: 1 5 シンプルな足し算。 例2: 小数計算 1 echo "10 / 3" | bc 実行結果: 1 3 デフォルトは整数計算。 ...

2026年1月3日 · 2 分 · 316 文字 · 須藤権限

sleepコマンド

はじめに こんにちは!今回はsleepコマンドについて解説します。 sleepは、指定した時間だけプログラムの実行を待機(スリープ)させるコマンドです。スクリプトで遅延処理が必要な時に活躍します。 シンプルですが、スクリプトを書くなら必須レベルで使いますよ。 sleepコマンドとは sleepは、指定された時間の間プロセスを停止する外部コマンドです。 主な使い道: スクリプトの遅延処理 - 特定の時間待機 リトライロジック - 失敗時に数秒待ってリトライ ポーリング処理 - 定期的に処理を繰り返す 処理の分散 - 複数プロセスの実行タイミングを制御 タイムアウト組み合わせ - タイムアウト機能の実装 時間単位は秒(s)、分(m)、時間(h)、日(d)で指定可能です。 基本構文 1 sleep 時間[単位] デフォルトは秒です。sleep 5なら5秒待機します。 主なオプション 単位 説明 例 (なし) 秒 sleep 5 s 秒 sleep 5s m 分 sleep 2m h 時間 sleep 1h d 日 sleep 1d 複数単位の組み合わせも可能:sleep 1h30m 使用例 例1: 5秒待機 1 2 3 echo "処理開始" sleep 5 echo "5秒経過しました" 実行結果: 1 2 3 処理開始 (5秒待機) 5秒経過しました 最もシンプルな使い方。 ...

2026年1月3日 · 3 分 · 482 文字 · 須藤権限

realpathコマンド

はじめに こんにちは!今回はrealpathコマンドについて解説します。 realpathは、ファイルやディレクトリの絶対パスを取得するコマンドです。シンボリックリンクを解決したり、相対パスを絶対パスに変換したりできます。 パスの処理をする時には超便利ですよ。 realpathコマンドとは realpathは、ファイルパスの絶対パス(フルパス)を返す外部コマンドです。 主な機能: シンボリックリンク解決 - シンボリックリンクの実体を追跡 相対パス変換 - 相対パスを絶対パスに変換 パス正規化 - ../や./を解決 存在確認 - ファイルが存在するか確認 複数ファイル対応 - 複数ファイルのパスを一度に処理 スクリプトでパス処理する時にはほぼ必須です。 基本構文 1 realpath [オプション] ファイル... ファイルの絶対パスを返します。 主なオプション オプション 説明 -e, --canonicalize-existing ファイルが存在することを確認 -L, --logical シンボリックリンクを解決しない -m, --canonicalize-missing ファイルが存在しなくても処理 -s, --strip 末尾のスラッシュを削除 -z, --zero NUL文字で区切る --relative-to=BASE BASEからの相対パスで出力 -q, --quiet エラー出力を抑制 使用例 例1: 基本的なパス取得 1 realpath myfile.txt 実行結果: 1 /home/user/myfile.txt 相対パスを絶対パスに変換します。 例2: シンボリックリンクを解決 1 2 ln -s /usr/bin mylink realpath mylink 実行結果: ...

2026年1月3日 · 2 分 · 368 文字 · 須藤権限

mktempコマンド

はじめに こんにちは!今回はmktempコマンドについて解説します。 mktempは、一時ファイルやディレクトリを安全に作成するコマンドです。ファイル名の衝突を避けたり、セキュリティリスクを回避したりできます。 シェルスクリプトで一時ファイルを使う時には、ほぼ必須のコマンドですよ。 mktempコマンドとは mktempは、予測不可能な名前の一時ファイルまたはディレクトリを作成する外部コマンドです。 主な特徴: ユニークな名前生成 - 衝突しない名前を自動生成 セキュリティ - 予測不可能な名前により、セキュリティ脆弱性を回避 ファイル/ディレクトリ対応 - 両方作成可能 テンプレート指定 - 名前パターンをカスタマイズ可能 自動削除オプション - スクリプト終了時に自動削除可能 /tmp下に安全な一時ファイルを作成できます。 基本構文 1 mktemp [オプション] [テンプレート] テンプレートにXXXXXXを含めると、そこにランダム文字が入ります。 主なオプション オプション 説明 -d ファイルではなくディレクトリを作成 -p ディレクトリ 指定したディレクトリに作成 -t テンプレートの最後にXXXXXXを自動追加 -u ファイルを作成しない(名前だけ返す) --suffix=末尾 ファイル名の末尾に文字列を追加 --dry-run 実際には作成せず、名前を表示 --tmpdir=ディレクトリ 作成先ディレクトリ指定 使用例 例1: 一時ファイルを作成 1 2 3 4 temp_file=$(mktemp) echo $temp_file cat $temp_file rm $temp_file 実行結果: 1 /tmp/tmp.XXXXXXXXXX ランダムな名前の一時ファイルを作成します。 例2: 一時ディレクトリを作成 1 2 3 4 temp_dir=$(mktemp -d) echo $temp_dir ls -la $temp_dir rmdir $temp_dir 実行結果: ...

2026年1月3日 · 3 分 · 430 文字 · 須藤権限

tputコマンド

はじめに こんにちは!今回はtputコマンドについて解説します。 tputは、ターミナルの属性や機能を制御するコマンドです。色の変更、カーソル位置の移動、テキストの装飾など、ターミナルを自由に操作できます。 シェルスクリプトで見栄えのいい出力を作りたい時に、めっちゃ活躍しますよ。 tputコマンドとは tputは、terminfoデータベースを参照してターミナル制御シーケンスを実行する外部コマンドです。 主な機能: 色の制御 - 前景色・背景色の設定 テキスト装飾 - 太字、下線、反転表示など カーソル制御 - カーソル位置の移動、行の消去 ターミナル情報取得 - 画面サイズ、色数の確認 ビープ音 - アラート音の出力 スクリプトで色付きの出力をするには必須のコマンドです。 基本構文 1 tput [オプション] [capname] [パラメータ...] capnameはターミナルの機能名(capabilities)です。 主なオプション オプション 説明 bold 太字 underline 下線 blink 点滅 reverse 反転表示(背景と文字の色を反転) smul 下線開始 rmul 下線終了 setaf [1-7] 前景色設定(1:赤、2:緑、3:黄、4:青、5:紫、6:シアン、7:白) setab [1-7] 背景色設定 cup X Y カーソルを(X,Y)に移動 home カーソルをホーム位置(左上)に移動 clear 画面をクリア el 行末まで消去 cols 画面幅を取得 lines 画面高さを取得 colors 色数を取得 bel ビープ音を出す reset ターミナルをリセット 使用例 例1: テキストを赤色で表示 1 2 3 tput setaf 1 echo "これは赤色のテキストです" tput sgr0 実行結果: ...

2026年1月3日 · 3 分 · 483 文字 · 須藤権限

printfコマンド

はじめに こんにちは!今回はprintfコマンドについて解説します。 printfは、フォーマットを指定して出力するコマンドです。C言語のprintfと同じような機能を持っていて、めっちゃ便利ですよ。 echoよりも柔軟な出力ができるので、スクリプトやログ出力で活躍します。 printfコマンドとは printfは、指定されたフォーマット文字列に従って、整形されたテキストを出力する組み込みコマンドです。 主な特徴: フォーマット指定 - %d(整数)、%s(文字列)、%f(浮動小数点数)など エスケープシーケンス対応 - \n(改行)、\t(タブ)など パディング・精度制御 - 桁数や小数点以下の桁数を指定可能 複数引数対応 - 複数の値を一度にフォーマット出力 echoと違って改行を自動で入れないので、より細かい制御ができます。 基本構文 1 printf フォーマット文字列 [引数1] [引数2] ... フォーマット文字列に%で始まる形式指定子を含めます。 主なオプション フォーマット 説明 %s 文字列 %d 整数(10進数) %x 16進数(小文字) %X 16進数(大文字) %f 浮動小数点数 %e 指数表記 %c 1文字 %% リテラルな% パディング・精度: 形式 説明 %5s 5文字分の幅で右寄せ %-5s 5文字分の幅で左寄せ %05d 5桁の整数(0パディング) %.2f 小数点以下2桁 使用例 例1: 基本的な文字列出力 1 printf "Hello, World!\n" 実行結果: 1 Hello, World! 最もシンプルな使い方。\nで改行します。 ...

2026年1月3日 · 2 分 · 350 文字 · 須藤権限

envコマンド

はじめに こんにちは!今回はenvコマンドについて解説します。 envは環境変数を表示・設定・実行するコマンドです。シェルの環境変数を確認したり、特定の環境変数を設定した状態でプログラムを実行したりできます。 環境設定って、何かやることが多いんですが、このコマンドで簡単に管理できますよ。 envコマンドとは envは、環境変数を操作・表示する外部コマンドです。 主な使い方は3つあります: 環境変数をすべて表示 - 現在の環境に設定されている変数を一覧表示 環境変数を設定して実行 - 特定の環境変数を設定した状態でプログラムを実行 環境変数をクリアして実行 - 環境変数をすべてクリアした状態でプログラムを実行 使い道が多くて、実務的に活躍するコマンドです。 基本構文 1 env [オプション] [変数=値] [コマンド] 変数を設定しない場合は、現在の環境変数をすべて表示します。 主なオプション オプション 説明 -i 環境をクリア(新しい環境変数を指定しない限り) -u 変数名 指定した環境変数を削除 -0 NUL文字で出力を区切る --ignore-environment 環境をクリア(-iと同じ) --unset=変数名 指定した環境変数を削除 使用例 例1: 環境変数をすべて表示 1 env 実行結果: 1 2 3 4 5 6 PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin HOME=/home/user USER=user SHELL=/bin/bash LANG=ja_JP.UTF-8 ...(多数の環境変数が表示される) 現在設定されているすべての環境変数を表示します。 例2: 特定の環境変数を確認 1 env | grep PATH 実行結果: 1 PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin grepと組み合わせて、特定の環境変数だけを確認できます。 例3: 環境変数を設定してコマンドを実行 1 env VAR1=hello VAR2=world printenv 実行結果: ...

2026年1月3日 · 2 分 · 255 文字 · 須藤権限

waitコマンド

はじめに こんにちは!今回はwaitコマンドについて解説します。 waitは、バックグラウンドジョブが完了するまで待つコマンドです。複数のタスクを並列実行して、すべての完了を待つ必要がある時に便利ですね。 シェルスクリプトで複数の処理を同時実行して、完了を確認したい時には欠かせませんよ! waitコマンドとは waitは、シェルに組み込まれたコマンドで、指定したバックグラウンドプロセスが終了するまで待機します。 複数のプロセスを並列実行する時、すべてが完了するまで次の処理に進みたくない場合があります。そんな時にwaitを使うと、指定したプロセスの終了を待ってから処理を続行できます。 シェルスクリプトでの並列処理制御に重宝します。 基本構文 1 wait [プロセスID または ジョブID] プロセスID/ジョブID指定しない場合、すべてのバックグラウンドプロセスの終了を待つ 複数指定可能 主なオプション オプション 説明 なし すべてのバックグラウンドプロセス待機 PID 特定のプロセスID待機 %n 特定のジョブID待機 -n 次のプロセス完了まで待機(新しいバージョン) -p PID 特定のプロセスのみ待機(新しいバージョン) 使用例 例1: すべてのバックグラウンドジョブを待つ 1 2 3 4 sleep 100 & sleep 200 & wait echo "All tasks completed" 実行結果: 1 All tasks completed すべてのバックグラウンドプロセスが終了するまで待ちます。 例2: 特定のプロセスを待つ 1 2 3 4 5 sleep 100 & PID=$! sleep 50 wait $PID echo "Process $PID completed" 実行結果: 1 Process 12345 completed 特定のプロセスIDの終了を待ちます。 ...

2026年1月3日 · 3 分 · 525 文字 · 須藤権限

disownコマンド

はじめに こんにちは!今回はdisownコマンドについて解説します。 disownは、バックグラウンドジョブをシェルの管理外にするコマンドです。nohupの代わりに使うことで、ターミナルを閉じた後もプロセスを実行し続けることができます。 シェルの組み込みコマンドなので、nohupよりも軽量で、すでに実行しているプロセスに対して使えるのが便利ですね! disownコマンドとは disownは、シェルに組み込まれたコマンドで、バックグラウンドジョブをシェルの管理から外します。 通常、バックグラウンドで実行しているジョブは、ターミナルを閉じるとシェルから終了シグナルを受け取って、プロセスも終了してしまいます。しかし、disownでジョブをシェルから切り離すと、ターミナルを閉じてもプロセスは実行を続けます。 すでに実行中のプロセスに対して使えるので、計画外のバックグラウンド実行にも対応できます。 基本構文 1 disown [ジョブID] ジョブIDを指定しなければ、すべてのバックグラウンドジョブを切り離します ジョブID形式: %1, %2 など 主なオプション オプション 説明 なし すべてのバックグラウンドジョブを切り離す %n ジョブIDを指定して切り離す -a すべてのジョブを切り離す -r 実行中のジョブのみ切り離す 使用例 例1: 実行中のジョブを切り離す 1 2 sleep 1000 & disown %1 実行結果: 1 [1] 12345 ジョブをシェルの管理外に移します。 例2: すべてのジョブを切り離す 1 2 3 sleep 100 & sleep 200 & disown -a 実行結果: 1 2 [1] 12345 [2] 12346 すべてのバックグラウンドジョブを一括で切り離します。 例3: 切り離したジョブをjobsで確認 1 2 3 sleep 1000 & disown %1 jobs 実行結果: ...

2026年1月3日 · 2 分 · 387 文字 · 須藤権限