3テラバイト

プログラム関連備忘録サイト。主にゲーム。

Unix

bashの特殊パラメータ一覧

投稿日:

こんにちは、今日はUNIX系OSのシェルであるbashで使用できる特殊パラメータについてまとめていきます。

特殊パラメータ一覧

パラメータ名説明
*引数の値を全てセパレーター区切りで表示します。
2重引用符で囲むと(”$*”)変数IFSに値が設定されている場合、その最初の文字がセパレーターとして使用され、nullの場合は全ての引数が連結されて表示されます。
変数IFSが設定されていない場合はスペース区切りで表示されます。
@引数の値を全て表示します。
#引数の個数を表示します。
?最後に実行したフォアグラウンドコマンドのステータス
bashのオプションで有効なフラグを表示します。
$シェルのプロセスIDを表示します。
!最後に実行したバックグラウンドコマンドのステータス
0実行中のシェル名、またはファイル名を表示します。
シェルスクリプトの場合はそのファイル名、コマンドラインで実行した場合は実行中のシェル名が表示されます。
_最後に実行したコマンドの最後の引数。

$*

そのまま使用する場合

以下のようなシェルスクリプトをtest.shというファイル名で作成

#!/bin/bash
echo $*

実行結果は以下のようになります。

$ ./test.sh 1 2
1 2

特殊変数IFSにセパレーターを設定する

以下のようなシェルスクリプトをtest.shというファイル名で作成

#!/bin/bash
IFS=/
echo "$*"

実行結果は以下のようになります。

$ ./test.sh 1 2
1/2

特殊変数IFSにnullを設定する

以下のようなシェルスクリプトをtest.shというファイル名で作成

#!/bin/bash
IFS=
echo "$*"

実行結果は以下のようになります。

$ ./test.sh 1 2
1 2

$0

コマンドラインで実行した場合

$ echo $0
-bash

シェルスクリプトで使用した場合

#!/bin/bash
echo $0

実行結果

$ ./test.sh
./test.sh

$_

#!/bin/bash
mkdir test_dir
echo $_

実行結果

$ ./test.sh
test_dir

-Unix


comment

メールアドレスが公開されることはありません。

関連記事

no image

vimコマンドで行番号を表示する方法

こんにちは、今日はvimコマンドで行番号を表示する方法についてまとめていきます。 確認環境 VIM – Vi IMproved 8.0 行番号を表示 行番号を表示するには、ファイルを開いた状態で以下の …

no image

ファイルをコピーするUnix系コマンドcpの使い方

こんにちは、今日はUnix系OSでファイルのコピーを行うことができるコマンドcpの使い方についてまとめていきます。 使い方 cpコマンドは第一引数にコピー元のファイルを、第二引数にコピー先のファイルを …

no image

ファイルタイプを確認するUnix系コマンドfileの使い方

こんにちは、今日はUnix系OSでファイルタイプを確認することができるコマンド、fileの使い方についてまとめていきます。 確認環境 macOS Mojave 10.14.6 使い方 以下のように引数 …

no image

シェルの設定を行うbashビルトインコマンドsetの使い方

こんにちは、今日はUNIX系OSのシェル、bashの設定を行うコマンドであるsetの使い方についてまとめていきます。 引数なしで実行 以下のように引数なしで実行すると定義されている環境変数、シェル変数 …

no image

コマンド実行時に一時的に環境変数を変更できるUNIX系コマンドenvの使い方

こんにちは、今日はUNIX系OSでコマンド実行時に一時的に環境変数を変更することができるコマンドのenvの使い方についてまとめていきます。 envコマンドの使い方 以下のようにenv コマンドの後に環 …