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

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

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

no image

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

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

no image

コマンドの実行履歴を確認できるhistoryコマンドの使い方

こんにちは、今日はUNIXのOSで実行したコマンドの履歴を確認することができるhistoryコマンドの使い方についてまとめていきます。 コマンドの実行履歴を表示 引数なしでhistoryコマンドを実行 …

no image

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

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

no image

zipファイルの中身を確認するUnix系コマンドzipinfoの使い方

こんにちは、今日はzipファイルの中身を確認するUnix系コマンド、zipinfoの使い方についてまとめていきます。 使い方 以下のように引数にzipファイルを渡すのみで、そのファイルの中身が表示され …