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

findコマンドで取得したファイルをmvコマンドに渡す方法

mvコマンドの-tオプションを使用する 以下の例では拡張子がlogのファイルをlogsというディレクトリに移動します。 $ find . -name "*.log" | xargs …

no image

Unix系OSで現在使用しているシェルを確認する方法

こんにちは、今日はUnix系OSで現在使用しているシェルを確認する方法についてまとめていきます。 変数$0の値を確認する シェルの特殊変数$0には現在実行中のシェル、またはシェルスクリプト名が格納され …

no image

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

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

no image

bashのキーバインドまとめ

こんにちは、今日はbashで割り当てられているキーバインドについてまとめていきます。 確認環境 GNU bash, version 3.2.57 主なキーバインド一覧 キー説明Ctrl + a行頭にカ …

no image

vimコマンドでシンタックスハイライトを有効にする方法

こんにちは、今日はvimコマンドでシンタックスハイライトを有効にする方法についてまとめていきます。 確認環境 VIM – Vi IMproved 8.0 シンタックスハイライト有効化 ファイルを開いた …