亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Shell $*和$@之間的區(qū)別

 更新時(shí)間:2021年03月01日 10:18:34   作者:衣烏安、  
這篇文章主要介紹了詳解Shell $*和$@之間的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

$* 和 $@ 都表示傳遞給函數(shù)或腳本的所有參數(shù),我們已在《Shell特殊變量》一節(jié)中進(jìn)行了演示,本節(jié)重點(diǎn)說一下它們之間的區(qū)別。

當(dāng) $* 和 $@ 不被雙引號(hào)" "包圍時(shí),它們之間沒有任何區(qū)別,都是將接收到的每個(gè)參數(shù)看做一份數(shù)據(jù),彼此之間以空格來分隔。

但是當(dāng)它們被雙引號(hào)" "包含時(shí),就會(huì)有區(qū)別了:

"∗ " 會(huì) 將 所 有 的 參 數(shù) 從 整 體 上 看 做 一 份 數(shù) 據(jù) , 而 不 是 把 每 個(gè) 參 數(shù) 都 看 做 一 份 數(shù) 據(jù) 。 " *"會(huì)將所有的參數(shù)從整體上看做一份數(shù)據(jù),而不是把每個(gè)參數(shù)都看做一份數(shù)據(jù)。 "∗"會(huì)將所有的參數(shù)從整體上看做一份數(shù)據(jù),而不是把每個(gè)參數(shù)都看做一份數(shù)據(jù)。"@"仍然將每個(gè)參數(shù)都看作一份數(shù)據(jù),彼此之間是獨(dú)立的。

比如傳遞了 5 個(gè)參數(shù),那么對(duì)于"∗ " 來 說 , 這 5 個(gè) 參 數(shù) 會(huì) 合 并 到 一 起 形 成 一 份 數(shù) 據(jù) , 它 們 之 間 是 無 法 分 割 的 ; 而 對(duì) 于 " *"來說,這 5 個(gè)參數(shù)會(huì)合并到一起形成一份數(shù)據(jù),它們之間是無法分割的;而對(duì)于"∗"來說,這5個(gè)參數(shù)會(huì)合并到一起形成一份數(shù)據(jù),它們之間是無法分割的;而對(duì)于"@"來說,這 5 個(gè)參數(shù)是相互獨(dú)立的,它們是 5 份數(shù)據(jù)。

如果使用 echo 直接輸出"∗ " 和 " *"和"∗"和"@"做對(duì)比,是看不出區(qū)別的;但如果使用 for 循環(huán)來逐個(gè)輸出數(shù)據(jù),立即就能看出區(qū)別來。

示例

#!/bin/bash

echo "-- \$* 演示 ---"
for i in "$*"; do
 echo $i
done

echo "-- \$@ 演示 ---"
for i in "$@"; do
 echo $i
done

執(zhí)行腳本,輸出結(jié)果如下所示:

$ chmod +x test.sh
$ ./test.sh 1 2 3
-- $* 演示 ---
1 2 3
-- $@ 演示 ---
1
2
3

到此這篇關(guān)于詳解Shell $*和$@之間的區(qū)別的文章就介紹到這了,更多相關(guān)Shell $* $@內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux BASH shell下設(shè)置字體及背景顏色

    linux BASH shell下設(shè)置字體及背景顏色

    這篇文章主要介紹了linux BASH shell下設(shè)置字體及背景顏色的方法,需要的朋友可以參考下
    2014-04-04
  • Window11?WSL2?添加靜態(tài)IP的腳本

    Window11?WSL2?添加靜態(tài)IP的腳本

    這篇文章主要介紹了Window11?WSL2?添加靜態(tài)IP的腳本方法,通過一段腳本給?Windows?端的"vEthernet?(WSL)"加了IPv4?172.18.16.1,給?Linux?端的?eth0?添加?IPv4?172.18.16.1,在使用前,請(qǐng)按需調(diào)整網(wǎng)絡(luò)接口的名稱和IP地址,需要的朋友可以參考下
    2023-01-01
  • 在Shell中分割字符串的例子

    在Shell中分割字符串的例子

    這篇文章主要介紹了在Shell中分割字符串的例子,使用3種方法實(shí)現(xiàn),需要的朋友可以參考下
    2014-06-06
  • Shell內(nèi)置命令教程之a(chǎn)lias和echo

    Shell內(nèi)置命令教程之a(chǎn)lias和echo

    我們?nèi)粘J褂胹hell輸入命令得到結(jié)果的方式是交互式的方式,而shell腳本使用的是非交互式方式,shell提供了alias功能來簡(jiǎn)化我們的日常操作,下面這篇文章主要給大家介紹了關(guān)于Shell內(nèi)置命令教程之a(chǎn)lias和echo的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 如何解決jenkins 執(zhí)行shell腳本 sh: ... not found的問題

    如何解決jenkins 執(zhí)行shell腳本 sh: ... not f

    這篇文章主要介紹了如何解決jenkins 執(zhí)行shell腳本 sh: ... not found的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-06-06
  • Linux 實(shí)現(xiàn)壓縮保留源文件的方法

    Linux 實(shí)現(xiàn)壓縮保留源文件的方法

    下面小編就為大家分享一篇Linux 實(shí)現(xiàn)壓縮保留源文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • hbase shell基礎(chǔ)和常用命令詳解

    hbase shell基礎(chǔ)和常用命令詳解

    HBase是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫,源于google的一篇論文《bigtable:一個(gè)結(jié)構(gòu)化數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)》
    2012-09-09
  • Linux命令之lz4命令使用示例

    Linux命令之lz4命令使用示例

    lz4是一種非??焖俚臒o損壓縮算法,基于字節(jié)對(duì)齊LZ77系列壓縮方案,它的特點(diǎn)是極快的解碼器,每核速度可達(dá)多GB/s,通常在多核系統(tǒng)上達(dá)到RAM速度限制項(xiàng)目,這篇文章主要介紹了Linux命令之lz4命令,需要的朋友可以參考下
    2023-03-03
  • Linux共享內(nèi)存實(shí)現(xiàn)機(jī)制的詳解

    Linux共享內(nèi)存實(shí)現(xiàn)機(jī)制的詳解

    這篇文章主要介紹了Linux共享內(nèi)存實(shí)現(xiàn)機(jī)制的詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Linux查看系統(tǒng)配置信息的命令詳解

    Linux查看系統(tǒng)配置信息的命令詳解

    Linux操作系統(tǒng)由Linux內(nèi)核和各種外圍程序組成, Linux內(nèi)核是一個(gè)特殊的軟件程序,用于實(shí)現(xiàn)CPU和內(nèi)存分配,進(jìn)程調(diào)度、設(shè)備驅(qū)動(dòng)等核心操作,本文給大家介紹了Linux查看系統(tǒng)配置信息的命令,需要的朋友可以參考下
    2024-04-04

最新評(píng)論