1. 程式人生 > >Shell的特殊變數

Shell的特殊變數

  • $0

    獲取當前Shell指令碼的檔名

  • $n

    獲取當前Shell指令碼的第n個引數值,n=1…9

  • $*

    獲取當前Shell的所有引數

  • $#

    獲取當前Shell命令列中引數的總個數

  • $$

    獲取當前Shell的PID(程序號)

  • $!

    執行上一個命令的PID

  • $?

    獲取執行上一個命令的返回值

    數字 含義
    0 執行成功
    2 許可權拒絕
    1~125 執行失敗:指令碼命令,系統命令錯誤或引數傳遞錯誤
    126 找到該命令,但是無法執行
    127 為找到要執行的命令
    >128 命令被系統強制結束
  • [email protected]

    獲取這個程式的所有引數

  • $_

    在此之前執行的命令或指令碼的最後一個引數

  • $*和[email protected]的區別

    $*將所用命令列引數視為單個字串,等同於”$1$2$3”
    $@將命令列每個引數視為單獨的字串,等同於”$1” “$2” “$3”。這是將引數傳遞給其他程式的最佳方式,因為它會保留所有內嵌在每個引數裡的任何空白。

    例項:

    [email protected]:~$ set -- "I am" a good boy. #傳遞4個引數
    [email protected]:~$ echo $#
    4
    [email protected]:~$ for i in $*;do echo $i;done
    I
    am
    a
    good
    boy.
    
    [email protected]
    :~$ for i in [email protected];do echo $i;done I am a good boy. [email protected]:~$ for i;do echo $i;done I am a good boy. [email protected]:~$ for i in "[email protected]";do echo $i;done I am a good boy. [email protected]:~$ for i in "$*";do echo $i;done I am a good boy.

相關推薦

linux bash Shell特殊變數Shell $0, $#, $*, [email protected], $?

在linux下配置shell引數說明 前面已經講到,變數名只能包含數字、字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。  例如,$ 表示當前Shell程序的ID,即pid,看下面的程式碼: [[email protected] /]$ ec

shell-特殊變數列表

特殊變數列表 變數 含義 $0 當前指令碼的檔名 $n 傳遞給指令碼或函式的引數。n $# 傳遞給指令碼或函式的引數個數。 $* 傳遞給

Shell】linux bash Shell特殊變數Shell $0, $#, $*, [email protected]<

在linux下配置shell引數說明 前面已經講到,變數名只能包含數字、字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。  例如,$ 表示當前Shell程序的ID,即pid,看下面的程式碼: $echo $$ 執行結果 29949

Shell特殊變數$

shell特殊變數 1)$* 所有引數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有引數。 2)[email protected]  所有引數列表。如"[email protected]"用「"」括起來的情況、

shell特殊變數$0,$#,[email protected],$*,$?,$$和命令列引數

變數   含義 $0     當前指令碼的檔名     $n     傳遞給指令碼或函式的引數。n 是一個數字,表示第幾個引數。例如,第一個引數是$1,第二個引數是$2。    $#     傳遞給指令碼或函式的引數個數。     $*     傳遞給指令碼或函式的所有引數

Shell指令碼學習8】Shell特殊變數Shell $0, $#, $*, [email protected],

前面已經講到,變數名只能包含數字、字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。 例如,$ 表示當前Shell程序的ID,即pid,看下面的程式碼: $echo $$ 執行結果 29949 特殊變數列表 變數

六、Shell特殊變數Shell $0, $#, $*, [email protected], $?, $$和命令列引

前面已經講到,變數名只能包含數字、字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。例如,$ 表示當前Shell程序的ID,即pid,看下面的程式碼: $echo $$ 執行結果 29949 特殊變數列表 變數 含義 $0 當前指令碼

Shell程式設計-03-Shell中的特殊變數和擴充套件變數

特殊變數     在Shell中的特殊變數主要分別兩種位置引數變數、狀態變數兩種。 位置引數變數     Shell中的位置引數變數主要是指$0、$1、$#等,主要用於從命令列、函式或指令碼執行等地方傳遞引數。詳細說明如下所示: $0:獲取當前執行的Shell指令碼的檔名,如指令碼中包含路徑,則

shell指令碼特殊變數意義

Shell特殊變數:Shell $0, $#, $*, [email protected], $?, $$和命令列引數 特殊變數列表 變數 含義 $0 當前指令碼的檔名 $n 傳遞給指令碼或函式的引數。n 是一個數字,表示第幾個引數。例如,第一個引數是$1,第二個引數是$2

linux shell 語言基礎(3)shell 特殊位置變數、source、sh、bash、./執行指令碼的區別等

一、shell 特殊位置變數 $0 檔名及路徑 $1~$n  新增到Shell的各引數值。$1是第1引數、$2是第2引數… $* 傳遞給指令碼的所有引數列表如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有引數。 $#新增到shell 引數個數 $

Shell全域性變數、區域性變數特殊變數筆記總結

變數型別:全域性變數(環境變數)和區域性變數(本地變數) 環境變數可以在定義它們的shell及其派生出來的任意子程序的shell中使用。區域性變數只能在定義它們的函式/指令碼中使用。還有一些變數是使用者建立的,其他的則是專用的shell變數。 1、全域性

shell指令碼中的特殊變數

有時候在linux上釋出專案的時候,可以把釋出操作繼承在shell指令碼中,以下記錄了一些shell指令碼的變數含義,作為備註:   shell特殊變數含義 變數 含義 $0 當前指令碼的檔名

shell指令碼及makefile中的特殊變數

shell指令碼中的特殊變數 1. $# 傳遞到指令碼的引數個數 2. $* 以一個單字串顯示所有向指令碼傳遞的引數。與位置變數不同,此選項引數可超過9個3. $$ 指令碼執行的當前程序ID號4. $! 後臺執行的最後一個程序的程序ID號5. [email p

(一)Shell的條件判斷符及特殊變數

目錄 1 shell的條件判斷 簡單條件判斷 條件測試通常有如下3中形式: 語法格式1:test<測試表達式> 語法格式2:[ <測試表達式> ] 語法格式3:

Shell特殊變數

$0 獲取當前Shell指令碼的檔名 $n 獲取當前Shell指令碼的第n個引數值,n=1…9 $* 獲取當前Shell的所有引數 $# 獲取當前Shell命令列中引數的總個數 $$ 獲取當

shell的位置引數和特殊變數

shell中有很多自動複製的變數 常用的位置引數和特殊變數有 $0       相當於C語言main函式的argv[0] $1 $2 $3....位置引數,相當於argv[1],argv[2],argv[3] $#       相當於argv -1 [email&

shell變數,環境變數配置檔案,shell特殊符號cut命令,sort_wc_uniq命令,tee_tr_split命令,shell特殊符號

shell變數 使用 env 命令可以檢視系統變數的資訊 下面大寫字母的變數名稱就是系統的變數 變數的值可能是 數字 也可能

Shell特殊擴展變量的實踐

? = 特殊擴展變量     ${parameter:{- +}word} 博主名:李常明博客地址:http://keep88.blog.51cto.com 此筆記出自老男孩書籍:跟老男孩學linux運維 shell編程實戰特殊擴展變量1、${parameter:-wo

Shell特殊變量:$0, $#, $*, $@, $?, $$和命令行參數

$0 $# $* $@ $? $$ 變量名只能包含數字、字母和下劃線,因為某些包含其他字符的變量有特殊含義,這樣的變量被稱為特殊變量。特殊變量列表變量含義$0當前腳本的文件名$n傳遞給腳本或函數的參數。n 是一個數字,表示第幾個參數。例如,第一個參數是$1,第二個參數是$2。$#傳遞給