Bash Shell的參數符號意義

來源:互聯網
上載者:User

Bash Shell 中會用到一些參數,

$1,$2,... 特定第幾個參數, $0 表示當前執行的進程名,script 本身的名字,或者在Regex中表示整行輸出

$# 命令列或者是位置參數的個數

$* 所有的位置參數,被作為一個單詞.

$@ 與$*同義,但是每個參數都是一個獨立的""引用字串,這就意味著參數被完整地傳遞

$- 傳遞給指令碼的falg

$!   在後台啟動並執行最後的工作的PID(進程ID).

$_   儲存之前執行的命令的最後一個參數.

$?   函數或者指令碼本身的退出狀態,用於檢查上一個命令,函數或者指令碼執行是否正確。(0表示該命令正確執行,任何非0值表示命令出錯。)

$$  指令碼自身的進程ID.
使用舉例:
執行語句運行結果:

[root@myhost tmp]# ./filelist.sh file1.txt file2.txt file3.txtgeneral file list files: 3General by: ./filelist.shLast command: Last PID:Is normal: 0Current PID: 26418

filelist.txt:

[root@myhost tmp]# cat filelist.txtParam1: file1.txtParam2: file2.txtAll param: file1.txt file2.txt file3.txtAll param: file1.txt file2.txt file3.txtFlag: hBLast PID:

filelist.sh

[root@myhost tmp]# cat filelist.sh#!/bin/bash    echo "general file list files: $#"    echo "General by: $0"    echo "Param1: $1" > filelist.txtecho "Param2: $2" >> filelist.txt    echo "All param: $*" >> filelist.txtecho "All param: $@" >> filelist.txt    echo "Flag: $-" >> filelist.txtecho "Last PID: $!" >> filelist.txt    echo "Last command: $_"echo "Is normal: $?"echo "Current PID: $$"

本文出自 “小何貝貝的技術空間” 部落格,請務必保留此出處http://babyhe.blog.51cto.com/1104064/322297

查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/unix/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.