Shell 位置參數總結

描述:

位置參數指的是shell腳本的命令行參數,同時也表示shell函數的額函數參數。

說明:

wKiom1exn6Hyoa_EAAA2r_iATJg372.png

示例:

#!/bin/sh
echo "number:$#"     # 傳給腳本的參數個數
echo "scname:$0"     # 腳本的名字
echo "first :$1"     # 傳遞給該shell腳本的第一參數
echo "second:$2"     # 傳遞給該shell腳本的第二個參數
echo "argume:$@"        # 傳遞給腳本的所有的參數的列表
echo "show parm list:$*"    # 以一個單字符串顯示所有向腳本傳遞的參數,
                   與位置不同,參數可以超過九個
echo "show process id:$$"    # 腳本運行的當前ID號
echo "show precomm stat: $?"  # 顯示最后命令的退出狀態,0表示正確,其它數字表示錯誤

# ./variable aa bb
number:2
scname:./variable
first:aa
second:bb
argume:aa bb
show parm list:aa bb
show process id:24544
show precomm stat:0

$@  與 $* 的相同點如下:

1、直接輸出不保留空格

2、帶雙引號輸出會保留帶引號的空格

3、不帶雙引號循環遍歷的輸出結果一樣:每個字符串單獨輸出

不同點如下:

1、帶雙引號遍歷$*相當于帶雙引號輸出$*

2、帶雙引號遍歷$@分別輸出每個參數,帶雙引號的參數保留空格輸出

[root@localhost ~]# set 'apple pie' pears peaches
[root@localhost ~]# for i in $*      
> do
> echo $i           
> done
apple
pie
pears
peaches

[root@localhost ~]# set 'apple pie' pears peaches
[root@localhost ~]# for i in $@
> do
> echo $i
> done
apple
pie
pears
peaches

[root@localhost ~]# set 'apple pie' pears peaches
[root@localhost ~]# for i in "$*"
> do
> echo $i            # 將所有參數變量視為一個
> done
apple pie pears peaches

[root@localhost ~]# set 'apple pie' pears peaches
[root@localhost ~]# for i in "$@"
> do
> echo $i          #  這里的單引號將兩個單詞合成一個
> done
apple pie
pears
peaches

原創文章,作者:pingsky,如若轉載,請注明出處:http://www.www58058.com/36084

(0)
pingskypingsky
上一篇 2016-08-16
下一篇 2016-08-16

相關推薦

  • The second week’s homework

    一.linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 Linux 文件與目錄管理 我們知道Linux的目錄結構為樹狀結構,最頂級的目錄為根目錄 /。 其他目錄通過掛載可以將它們添加到樹中,通過解除掛載可以移除它們。 首先需要知道什么是絕對路徑與相對路徑。 絕對路徑: 路徑的寫法,由根目錄 / 寫起,例如: /usr/shar…

    Linux干貨 2016-12-12
  • shell腳本清空系統message日志

      1 #/bin/bash   2 #此腳本用來清空系統message日志文件   3 #author:wyf date:16/10/30   4 LOG_DIR=/var/log   5 ROOT…

    Linux干貨 2016-10-30
  • 壓縮、解壓縮及歸檔工具

    壓縮、解壓縮及歸檔工具 縮文件的基本原理是查找文件內的重復字節,并建立一個相同字節的"詞典"文件,并用一個代碼表示,比如在文件里有幾處有一個相同的詞"中華人民共和國"用一個代碼表示并寫入"詞典"文件,這樣就可以達到縮小文件的目的。         &#8212…

    Linux干貨 2016-08-18
  • 內核編譯

    下載內核并解壓:tar -xvf linux-4.14.9.tar.xz -C ./linux/     接下來是 ? ?make ? config ?。 (具體參照 ? ?《make ? config ?的幾種類型》) 一般采用??# ?make ? menuconfig?? 的方式 是這個樣子的: 此處有可能需要幾個包,選擇最簡單的y…

    2018-01-01
  • http

    練習:分別使用CentOS 7和CentOS 6實現以下任務 一、配置三個基于名稱的虛擬主機          (a) discuzX          (b) wordpress  &nb…

    Linux干貨 2016-10-09
  • keepalived高可用實例

    1、keepalived單實例 1)實驗環境為VMware虛擬機,兩臺centos7.2,主機1IP地址為10.1.252.55,主機2IP地址為10.1.252.34,虛擬路由IP為10.1.252.246, 2)確保iptables和selinux不影響實驗 (1)確保兩臺主機的時間同步 [root@localhost ~]# vim…

    Linux干貨 2016-11-01

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-16 15:16

    寫的較為簡單哦,變量分為本地變量,環境變量,全局變量,位置變量,特殊變量等,這些都需要自己去整理的哦

欧美性久久久久