シェル特殊変数(シェル $#, $*, $@, $? , $$)の使用について
2022-02-07 23:50:18
前節では、位置引数を受け取るために使われる特殊変数の一種である$nについてお話しました。この節では、残りの特殊変数である$#、$*、$@、$? および $$について説明します。
シェルの特殊変数とその意味
<テーブル 変数 意味 $0 現在のスクリプトのファイル名。 $n (n≧1) スクリプトや関数に渡されるパラメータ。nは引数の数を示す数値。例えば、第1引数は$1、第2引数は$2となります。 $# スクリプトまたは関数に渡す引数の数です。 $* スクリプトまたは関数に渡されたすべての引数。 $@ スクリプトや関数に渡されるすべての引数。二重引用符 " " で囲まれた場合、$@ は $* と若干異なります。 シェル$*と$@の違いについて の項目で詳しく説明します。 $? 直前のコマンドの終了ステータス、または関数の戻り値で、これを シェル $? セクションをご覧ください。 $$ 現在のシェルプロセスID。シェルスクリプトの場合は、これらのスクリプトが配置されているプロセスIDです。
2つの例で実証してみましょう。
1) スクリプトファイルへのパラメータの渡し方
以下のコードを書き、test.sh という名前で保存してください。
#! /bin/bash
echo "Process ID: $$"
echo "File Name: $0"
echo "First Parameter : $1"
echo "Second Parameter : $2"
echo "All parameters 1: $@"
echo "All parameters 2: $*"
echo "Total: $#"
test.shを以下の引数で実行します。
[mozhiyan@localhost demo]$ . /test.sh シェル Linux
プロセスID 5943
ファイル名:bash
第1パラメータ:シェル
第2パラメータ:Linux
全パラメーター1:シェルLinux
全パラメーター2:シェルLinux
合計:2
2) 関数への引数の渡し方
以下のコードを書き、test.sh という名前で保存してください。
#! /bin/bash
#define function
function func(){
echo "Language: $1"
echo "URL: $2"
echo "First Parameter : $1"
echo "Second Parameter : $2"
echo "All parameters 1: $@"
echo "All parameters 2: $*"
echo "Total: $#"
}
# Call the function
func Java http://c.biancheng.net/java/
走った結果は
言語 Java
のURLです。 http://c.biancheng.net/java/
第1パラメータ:Java
第2パラメータ: http://c.biancheng.net/java/
全パラメーター1:Java http://c.biancheng.net/java/
全パラメーター2:Java http://c.biancheng.net/java/
合計:2
シェル特殊変数(Shell $#, $*, $@, $?)の使い方に関する記事は以上です。シェル特殊変数についての詳しい情報は、過去の記事を検索するか、以下の記事を引き続き閲覧してください。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン