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

元いたディレクトリを保存しながら移動するUNIX系コマンドpushd,popd,dirsの使い方

こんにちは、今日はUNIX系OSで元いたディレクトリを保持しつつ移動することができるコマンド、pushdについてまとめていきます。 pushdでディレクトリの移動とスタックへのディレクトリの追加を行い …

no image

vimコマンドでファイル差分を確認する方法

こんにちは、今日はvimコマンドでファイル差分を確認する方法についてまとめていきます。 確認環境 VIM – Vi IMproved 8.0 差分表示 vimエディタで差分を確認するにはdiffspl …

no image

プロセス一覧を表示し自動で更新とソートも行うUnix系コマンドtopの使い方

こんにちは、今日はプロセス一覧を表示し、自動で更新とソートも行うことができるUnix系コマンドtopの使い方についてまとめていきます。 確認環境 macOS Mojave 10.14.6 使い方 引数 …

no image

Let’s Encrypt の証明書を手動で更新する方法

こんにちは、今日はLet’s Encrypt の証明書を手動で更新する方法についてまとめていきます。 確認環境 CentOS Linux release 7.4.1708Apache 2.4.6 更新 …

no image

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

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