shell指令碼 函式及其他補充

2021-09-20 10:26:44 字數 856 閱讀 2611

一、函式

函式宣告:

#用法1

function f_name

#用法2

f_name()

函式呼叫:

f_name arg1 arg2 ...

/*注:如果函式中要使用的區域性變數與指令碼中的本地變數同名時,

必須在函式體中使用 local varname 事先宣告表示這是乙個區域性變數。

向函式傳遞引數時,若某個引數中含有有空格,則應該使用引號,否則函式會認為這是多個引數

*/

二、配置檔案

在指令碼編寫中,我們可以使用自定義配置檔案的方式來縮減指令碼篇幅以及便於後期管理,假如配置檔案為/tmp/customcfg,指令碼為test.sh。

customcfg檔案內容:

declare -i mynum=1

function f_name

test.s**件中內容:

#!/bin/bash

#cfg_file=/tmp/customcfg

[ -r $cfg_file ] && source $cfg_file || exit 1 #如果配置檔案存在且可讀,則將此檔案與指令碼關聯進來

[ $mynum -eq 1 ] && echo "hello" #關聯後可使用配置檔案中的變數定義或呼叫函式

f_name "finished test" #函式呼叫

補充中…

Shell指令碼補充 sed

var 10 a haha echo var 10 echo 10 echo ab 為空 echo b 輸出hahab a abcdcba echo 輸出abcdcba 完全匹配失敗 echo 輸出dcba abc被刪除了 即到第乙個被匹配的c echo a 輸出abcdcba 不會對源資料做修改a...

shell指令碼中呼叫其他指令碼

目前來說有三種方法 1.指令碼絕對路徑 這個方式是最普通的,底層呼叫的是fork實現,執行的時候開乙個子shell執行呼叫的指令碼,子shell執行的時候,父shell還在 子shell執行完畢後返回父shell,子shell從父shell繼承環境變數,但是子shell中的環境變數不會帶回父shel...

函式getopt 及其他引數

getopt 用來解析命令列引數 include extern char optarg extern int optind extern int opterro extern int optopt getopt int argc,char argv,char options 按照字串options提...