参数位置关于shell
本文朋友在青島游玩的時候突然想到的...今天就有想寫幾篇關于參數位置的筆記,所以回家到之后就奮筆疾書的寫出來發布了
????
????什么時候不適合使用Shell腳本
????
????
-
資源密集型的任務, 尤其在須要斟酌效率時(比如, 排序, hash等等).
-
須要處理大任務的數學操作, 尤其是浮點運算, 準確運算, 或者龐雜的算術運算(這種情況一般使用C++或FORTRAN來處理).
-
有跨平臺移植需求(一般使用C或Java).
-
龐雜的應用, 在必須使用結構化編程的時候(須要變量的類型檢查, 函數原型, 等等).
-
至關重要的應用, 比如說為了這個應用, 你須要賭上自己的農場, 甚至賭上你們公司的未來.
-
對于安全有很高要求的任務, 比如你須要一個健壯的系統來防止入侵, 破解, 惡意損壞等等.
-
工程的每一個組成部分之間, 須要連鎖的依賴性.
-
須要大規模的文件操作(Bash受限于順序地進行文件訪問, 而且只能使用這種笨拙的效率低下的一行接一行的處理方式. ).
-
須要多維數組的支撐.
-
須要數據結構的支撐,比如鏈表或數組等數據結構.
-
須要產生或操作圖形化界面GUI.
-
須要直接操作系統硬件.
-
須要I/O或socket接口.
-
須要使用庫或者遺留下來的舊代碼的接口.
-
個人的, 閉源的應用(shell腳本把代碼就放在文本文件中, 全球都能看到).
雖然你現在還只是一株稚嫩的幼苗。然而只要堅韌不拔,終會成為參天大樹;雖然你現在只是涓涓細流,然而只要鍥而不舍,終會擁抱大海;雖然你現在只是一只雛鷹,然而只要心存高遠,跌幾個跟頭之后,終會占有藍天。
????shell的參數
????(1)、 位置參數
????由系統提供的參數稱為位置參數。位置參數的值可以用$N得到,N是一個數字,如果為1,即$1.相似C語言中的數組,Linux會把輸入的命令字符串分段并給每段進行標號,標號從0開始。第0號為程序名字,從1開始就表現傳遞給程序的參數。如$0表現程序的名字,$1表現傳遞給程序的第一個參數,以此類推。
??? (2)外部參數
? ? ?? $#:命令行或者是位置參數的個數
?????? $*:全部的位置參數,被作為一個單詞.注意:"$*"必須被""引用.
?? ? ? $@:與$*同義,但是每一個參數都是一個獨立的""引用字串,這就意味著參數被完整地傳遞,并沒有被解釋和擴展.這也意味著,每一個參數列表中的每一個參數都被當做一個獨立的單詞.注意:"$@"必須被引用.
? ? ? $-:傳遞給腳本的falg(使用set 命令).注意:這起初是ksh 的特征,后來被引進到Bash 中,但可憐的是,在Bash 中它看上去也不能可靠的任務.使用它的一個可能的方法就是讓這個腳本進行自我測試(查看是否是交互的).
???? $!:在后臺運行的最后的任務的PID(進程ID).
? ?? $_:保存之前執行的命令的最后一個參數.
???? $?:命令,函數或者腳本本身的退出狀態
? ?? $$:腳本自身的進程ID.這個變量經常用來結構一個"unique"的臨時文件名.
文章結束給大家分享下程序員的一些笑話語錄: 程序員打油詩
寫字樓里寫字間,寫字間里程序員;
程序人員寫程序,又拿程序換酒錢。
酒醒只在網上坐,酒醉還來網下眠;
酒醉酒醒日復日,網上網下年復年。
但愿老死電腦間,不愿鞠躬老板前;
奔馳寶馬貴者趣,公交自行程序員。
別人笑我忒瘋癲,我笑自己命太賤;
不見滿街漂亮妹,哪個歸得程序員。
--------------------------------- 原創文章 By
參數和位置
---------------------------------
總結
以上是生活随笔為你收集整理的参数位置关于shell的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenMP 多核编程(转载)
- 下一篇: 获取用户之间关系——使用follower