shell學習 關於shell函式庫的使用

2022-06-27 22:54:13 字數 973 閱讀 4692

shell函式庫的理解:

個人理解,shell函式庫實質為乙個指令碼,指令碼內包含了多個函式(函式具有普遍適用性)。

shell函式庫的呼叫:

通過  . /path/lib/file.lib 或者 source /path/lib/file.lib的方式載入,然後正常函式方式呼叫。

示例如下:

建立函式庫檔案:libmyfunctions.sh

#!/bin/bash

#建立乙個函式庫檔案,用來列印$path的路徑

showpath()

#這裡可以增加n個其他函式

呼叫函式庫檔案:

#!/bin/bash

#方法1:

#. /home/wyf349/user/lib/libmyfunctions.sh

#通過 . 載入函式庫檔案,注意 . 和路徑之間存在乙個空格

#方法2:

source ../lib/libmyfunctions.sh

showpath

需要注意的是,函式庫的載入,其實是在呼叫的指令碼中執行了這個檔案,所以在函式庫檔案中不能包含exit的語句,否則將導致當前例項退出。

wyf349@ubuntu:~/user/study_shell$ sh lib_stduy_test1.sh*

lib_stduy_test1.sh: 7: lib_stduy_test1.sh: source: not found

lib_stduy_test1.sh: 9: lib_stduy_test1.sh: add: not found

原因為:ubuntu預設的sh解析器為dash,需要調整為bash

ls -l /bin/sh

#如果輸出為dash

sudo dpkg-reconfigure dash

#在彈出的選擇框中,選擇no即可

Linux shell指令碼 (十六)shell函式

函式可以讓我們將乙個複雜功能劃分成若干模組,讓程式結構更加清晰,重複利用率更高。像其他程式語言一樣,shell 也支援函式。shell 函式必須先定義後使用。shell 函式的定義格式如下 function name 如果你願意,也可以在函式名前加上關鍵字 function function fun...

shell學習之 shell呼叫shell

2008 05 06 14 43 18 分類 linux 標籤 字型大小 大中小訂閱 fork是最普通的,就是直接在指令碼裡面用 directory script.sh來呼叫script.sh這個指令碼.執行的時候開乙個sub shell執行呼叫的指令碼,sub shell執行的時候,parent ...

關於shell的學習筆記

乙個專案中編寫指令碼,就像makefile一樣,使使用者更方便,更效率。學習shell就要不斷的看別人寫的,從簡單的開始,一點點複雜起來,不斷總結提高。shell可以理解為在終端上的指令集。比如 who wc l在指令碼中的實現 cat tst who wc l d chmod x tst tst ...