Linux Shell 如何獲取參數(shù)的方法
$# 是傳給腳本的參數(shù)個(gè)數(shù)$0 是腳本本身的名字$1 是傳遞給該shell腳本的第一個(gè)參數(shù)$2 是傳遞給該shell腳本的第二個(gè)參數(shù)$@ 是傳給腳本的所有參數(shù)的列表$* 是以一個(gè)單字符串顯示所有向腳本傳遞的參數(shù),與位置變量不同,參數(shù)可超過(guò)9個(gè)$$ 是腳本運(yùn)行的當(dāng)前進(jìn)程ID號(hào)$? 是顯示最后命令的退出狀態(tài),0表示沒(méi)有錯(cuò)誤,其他表示有錯(cuò)誤
區(qū)別:$@, $*
相同點(diǎn):都是引用所有參數(shù) 不同點(diǎn):$* 和 $@ 都表示傳遞給函數(shù)或腳本的所有參數(shù),不被雙引號(hào)(' ')包含時(shí),都以'$1' '$2' … '$n' 的形式輸出所有參數(shù)。但是當(dāng)它們被雙引號(hào)(' ')包含時(shí),'$*' 會(huì)將所有的參數(shù)作為一個(gè)整體,以'$1 $2 … $n'的形式輸出所有參數(shù);'$@' 會(huì)將各個(gè)參數(shù)分開(kāi),以'$1' '$2' … '$n' 的形式輸出所有參數(shù)。$*和$@詳細(xì)區(qū)別請(qǐng)看此處
#!/bin/bashecho '-----------------'for key in '$@'do echo ’$@’ $keydoneecho '-----------------------------'for key2 in $*do echo ’$*’ $key2done
1、帶引號(hào)執(zhí)行及結(jié)果:
[root@localhost ~]# bash file.sh linux 'python c'-----------------$@ linux$@ python c-----------------------------$* linux$* python$* c
2、不帶引號(hào)執(zhí)行及結(jié)果:
[root@localhost ~]# bash file.sh linux python c-----------------$@ linux$@ python$@ c-----------------------------$* linux$* python$* c
到此這篇關(guān)于Linux Shell 如何獲取參數(shù)的方法的文章就介紹到這了,更多相關(guān)Linux Shell 獲取參數(shù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Centos7安裝Chacha20加密算法詳解2. mac程序沒(méi)反應(yīng)怎么辦 mac強(qiáng)制關(guān)閉程序的方法3. UOS文檔查看器怎么添加書簽? UOS添加書簽的三種方法4. Fedora系統(tǒng)外觀怎么設(shè)置? Fedora Linux外觀主題設(shè)置技巧5. deepin20時(shí)間顯示不準(zhǔn)確怎么調(diào)整? deepin時(shí)間校正方法6. 蘋果 macOS 11.7.3 更新導(dǎo)致 Safari 收藏夾圖標(biāo)無(wú)法正常顯示7. Win11系統(tǒng)搜索不到藍(lán)牙耳機(jī)怎么辦?Win11搜索不到藍(lán)牙耳機(jī)解決方法8. FreeBSD10安裝內(nèi)核源代碼方法講解9. VMware Workstation虛擬機(jī)安裝VMware vSphere 8.0(esxi)詳細(xì)教程10. CentOS如何查看命令執(zhí)行進(jìn)度?
