日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bash shell函数的定义及变量的简单说明

發布時間:2023/12/9 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bash shell函数的定义及变量的简单说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From: http://blog.sina.com.cn/s/blog_4ce3a68a0100i77a.html

函數:

“函數是一種腳本內腳本”,程序員很難想像沒有函數的日子,至少我會比較痛恨。

所以了解函數的定義也就是學習bash的一大要點了。

函數大大增強了shell的編程能力,主要原因有如下兩點:

  • 當你調用一個函數時,它已經在shell的內存中;因此函數運行的很快。
  • 將較長的shell腳本組織成各種容易開發和維護的模塊是理想的。

  • 呃,針對第一點,現在計算機的內存那是相當的便宜,大家不用再擔心錢了吧?

    來個4G的條子,當然用XP你就用3.5G吧,除非你擴展一下。。

    定義一個函數,就是令shell在內存中保存其名字和定義(也就是其包含的shell命令)。如果你要在以后運行函數,只須鍵入其名字,后跟任意參數即可,就好像它是一個shell腳本

    要定義一個函數有兩種格式

    function functname
    {
    ? ? ? shellcommands
    }

    functname()
    {
    ? ? ?shellcommands
    }

    這倆方法,其實是一樣的,沒啥本質及功能上的區別。

    使用unset -f functname刪除一個函數定義。

    unset -ffunctname

    可以使用如下命令來查找到登錄會話里定義的函數

    declare -f

    嘿嘿,咋樣?是不是顯示的內容太長?嗯。用管道命令more來輸出吧

    declare -f|more

    如果只想看函數名的話就用

    declare -F

    除了優勢,函數和腳本有兩個重要差別

  • 當通過名字調用時,函數不在單獨進程里運行,而腳本卻可以。運行一個函數的語義更類似于登錄時.bash_profile中的命令或用source命令調用腳本時的情況。
  • 如果一個函數與一個腳本或可執行程序(也有可能是腳本啊)有相同的名字,則函數優先。
  • 看出來了吧?“函數優先”,為啥呢?這里說一下在shell中鍵入一個命令時,各種資源的優先級次序:

  • 別名
  • 關鍵字,例如function,以及if和for等
  • 函數
  • 內置命令,如cd和type等
  • 腳本和可執行程序(在最后哦),shell按在PATH環境變量中列出的目錄中對其進行搜索
  • 不過,呃,這個順序是可以改變的哈??梢允褂脙戎玫腸ommand builtin和enable改變優先級次序。

    它允許你將函數、別名和腳本文件定義為同樣的名字,并選擇要執行的一個。

    變量:
    呼,終于說到變量了。。嗯。沒事這個短。。

    簡單地說:變量被命名用以存儲數據,通常格式為字符串,其值可使用$符號加名字獲得。某些變量稱為環境變量,按慣例以大寫字母命名,其取值對子進行已知(使用export語句)

    呵,就這些。嘿嘿。。因為后面的內容不能放在這一節里了。太長了,呼呼。。

    相關文章
    • shell vsunix( 9)之前已經寫過幾節關于shell的筆記了,可是卻一直沒有介紹一下,到底什么是shell。呃,經過b...
    • bashshell腳本的運行方式( 9 )以下內容部分直接摘錄自《學習bash》,這又是我一個新的讀書筆記。希望能給大家帶來幫助。...
    • shell變量語法詳解--兩種聲明變量方式,及大括號的作用( 4)貌似之前寫技術類博客的做法不是很正確,嗯,一寫就一大長篇,就算真正有需要的人看也會煩...
    • shell對$@和$*進行引用( 2 )嘿,每次看到“$”符號我都會兩眼冒光,呵,沒辦法,在這鄙視“資本主義”社會呢。嗯。哈...
    • shell命令替換之前介紹過shell有兩種方式可以取得變量的值:通過賦值語句,或者是以命令參數傳遞給腳本。...

    總結

    以上是生活随笔為你收集整理的bash shell函数的定义及变量的简单说明的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。