在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

shell腳本基礎函數

FPGA學姐 ? 來源:FPGA學姐 ? 2023-05-22 09:19 ? 次閱讀

在bash中定義函數

97749994-f815-11ed-90ce-dac502259ad0.png

function和函數名字可以任意省略一個

需要注意的是,函數必須在被調用之前定義

97952038-f815-11ed-90ce-dac502259ad0.png

如果沒有特別標注,bash中的變量都是全局變量,即使定義在函數內部,所以在函數外部也可以使用;反過來也一樣,在函數外部定義的變量在函數內部也可以使用。例如在函數內部修改變量

#!/bin/bash
update_prefecture()
{
    prefecture=Aomori  ←----- 修改在函數外部定義的變量的值
    echo "$prefecture"
}
prefecture=Hokkaido  ←----- 定義變量(全局變量)
echo "$prefecture"
update_prefecture
echo "$prefecture"

結果是

97a9572e-f815-11ed-90ce-dac502259ad0.png

若想定義只作用于函數內部的局部變量可以加local字段

local 變量名=值

對于嵌套調用的兩個函數,在外部函數中定義一個局部變量prefecture,然后在內部被調用的函數中修改變量的值,則修改后的結果對外部函數也是有影響的,例如:

#!/bin/bash
update_prefecture1()
{
    echo "[update_prefecture1] $prefecture"
    prefecture=Aomori
    echo "[update_prefecture1] $prefecture"
}
update_prefecture2()
{
    local prefecture=Iwate
    echo "[update_prefecture2] $prefecture"
    update_prefecture1
    echo "[update_prefecture2] $prefecture"
}
prefecture=Hokkaido
echo "$prefecture"
update_prefecture2
echo "$prefecture"


$ ./local_param_nest.sh
Hokkaido
[update_prefecture2] Iwate
[update_prefecture1] Iwate   ←----- 內部函數沿用在外部函數中定義的變量的值
[update_prefecture1] Aomori  ←----- 在內部函數中修改變量值
[update_prefecture2] Aomori  ←----- 外部函數的值也被修改了
Hokkaido  ←----- 函數外部的全局變量不受影響

local命令可以使用和declare命令相同的參數選,例如定義數組類型的局部變量

local-aprefectures=(IwateMiyagi)

要想在函數內部使用指定的參數,可以使用位置參數$1, $2

#!/bin/bash
print_argument()
{
    echo "$0 = $0"
    echo "$1 = $1"
    echo "$2 = $2"
    echo "$3 = $3"
    echo "$# = $#"
}
print_argument aaa bbb  ←----- 在調用函數時傳遞參數

FUNCNAME是bash的一個數組類型的變量,里面保存了當前運行的所有函數名,通過變量FUNCNAME獲取并輸出函數名

97d3d5f8-f815-11ed-90ce-dac502259ad0.png





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Shell
    +關注

    關注

    1

    文章

    366

    瀏覽量

    23476
  • Bash
    +關注

    關注

    0

    文章

    57

    瀏覽量

    10213

原文標題:shell腳本基礎(五)函數

文章出處:【微信號:FPGA學姐,微信公眾號:FPGA學姐】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【RT-Thread學習筆記】結合案例學習調試shell腳本

    shell編程掃盲系列】結合真實案例學習如何調試shell腳本
    的頭像 發表于 07-29 03:32 ?2159次閱讀
    【RT-Thread學習筆記】結合案例學習調試<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>

    shell腳本進階】幾個常用的shell進階腳本

    shell腳本進階】幾個常用的shell進階腳本
    的頭像 發表于 09-19 08:59 ?1971次閱讀
    【<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>進階】幾個常用的<b class='flag-5'>shell</b>進階<b class='flag-5'>腳本</b>

    linux shell腳本分享

    今天浩道跟大家分享shell腳本硬核干貨,可以說是拿來即用序列!
    發表于 02-17 09:13 ?444次閱讀

    Linux Shell腳本入門到實戰詳解

    Linux Shell腳本入門到實戰詳解
    發表于 02-17 15:03 ?672次閱讀

    Linux shell腳本分享

    今天浩道跟大家分享幾個Linux運維中常用到的shell腳本
    發表于 07-18 09:53 ?585次閱讀
    Linux <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>分享

    嵌入式和物聯網的shell腳本學習指南之shell腳本入門免費下載

    本文檔的主要內容詳細技術的是嵌入式和物聯網的shell腳本學習指南之shell腳本入門免費下載。
    發表于 09-11 17:15 ?20次下載
    嵌入式和物聯網的<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>學習指南之<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>入門免費下載

    shell腳本最簡明的教程

    Shell腳本,就是利用Shell的命令解釋的功能,對一個純文本的文件進行解析,然后執行這些功能,也可以說Shell腳本就是一系列命令的集合
    的頭像 發表于 10-16 11:27 ?4895次閱讀
    <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>最簡明的教程

    109個實用shell腳本分享

    Shell腳本,就是利用Shell的命令解釋的功能,對一個純文本的文件進行解析,然后執行這些功能,也可以說Shell腳本就是一系列命令的集合
    的頭像 發表于 03-16 08:58 ?2691次閱讀

    shell腳本基礎知識

    shell腳本是一個文件,里面存放的是特定格式的指令,系統可以使用腳本解析器翻譯或解析指令并執行(無需編譯),shell腳本的本質是
    的頭像 發表于 04-17 15:00 ?1140次閱讀

    剖析Linux shell 函數實現

    作為一個嵌入式 Linux 工程師,肯定需要編寫 shell 腳本進行一些自動化工作。剛好,我最近就有類似需求——一鍵交叉編譯 DDS。本著“編寫漂亮代碼的原則”,我用到了 **shell
    的頭像 發表于 05-12 10:27 ?548次閱讀
    剖析Linux <b class='flag-5'>shell</b> <b class='flag-5'>函數</b>實現

    shell腳本基礎函數

    在bash中定義函數 function和函數名字可以任意省略一個 需要注意的是,函數必須在被調用之前定義 如果沒有特別標注,bash中的變量都是全局變量,即使定義在函數內部,所以在
    的頭像 發表于 05-22 09:20 ?513次閱讀
    <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>基礎<b class='flag-5'>函數</b>

    Linux Shell腳本經典案例分享

    ? 作為一名 Linux 運維工程師,會寫好的腳本不僅能提高工作效率,還能有更多的時間做自己的事。最近在網上沖浪的時候,發現大家對Shell腳本都有“心結”,要么覺得自己寫出來不好看,要么根本無從下手。 下面分享249個真實
    發表于 06-16 14:03 ?687次閱讀
    Linux <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>經典案例分享

    BASH shell腳本篇—函數

    函數是代碼重用的最重要方式。Bash函數可以定義為一組命令,在bash腳本中多次調用。
    的頭像 發表于 10-20 16:31 ?1193次閱讀

    Shell腳本檢查工具ShellCheck介紹

    ShellCheck是一個用于bash/sh shell腳本的靜態分析工具,可以輔助檢查腳本語法錯誤,給出建議增強腳本健壯性。
    的頭像 發表于 12-27 13:43 ?2278次閱讀
    <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>檢查工具ShellCheck介紹

    Linux從零到精通:最簡單的Shell腳本入門教程

    通過簡單的命令和腳本,實現對系統的靈活控制和自動化管理。 shell腳本前言 shell腳本入門 she
    的頭像 發表于 12-05 09:56 ?717次閱讀
    Linux從零到精通:最簡單的<b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>入門教程
    主站蜘蛛池模板: 亚洲68283精品人体 | 亚洲一区 在线播放 | 久久天天躁狠狠躁夜夜躁综合 | 欧美日韩精品乱国产538 | 男啪女r18肉车文 | 91中文字幕在线视频 | 亚洲免费在线观看视频 | 国产亚洲精品久久午夜 | 1000部啪啪勿入十八免费 | 天堂网www在线 | 婷婷第四色 | 国产好深好硬好爽我还要视频 | 在线播放真实国产乱子伦 | 综合网在线 | 日本中文在线三级在线播放 | ts人妖另类国产 | 欧美极品xxxxⅹ另类 | 一级特黄aaaaaa大片 | 国产一级大片免费看 | 二级黄的全免费视频 | 午夜精品久久久久久久久 | 嗯好舒服好爽好快好大 | 伊人久久综合成人网小说 | 伊人狠狠丁香婷婷综合色 | 国产亚洲美女精品久久久久狼 | 国产人成精品香港三级古代 | 成人一级网站 | 天天操天天操天天操天天操 | 稀缺资源呦视频在线网站 | 男男全肉高h腐文 | 中文字幕一区二区三区永久 | 国产老肥熟xxxx | 国产综合精品久久久久成人影 | 色老二精品视频在线观看 | 国语对白老女人8av 孩交精品xxxx视频视频 | 国产四虎 | 色婷婷精品综合久久狠狠 | 国产成人三级 | 天天操夜夜逼 | 国内精品伊人久久大香线焦 | 又粗又长又大又黄的日本视频 |