shell指令碼中如何跨指令碼呼叫其他指令碼中的函式

2021-03-18 03:17:05 字數 2952 閱讀 4795

1樓:匿名使用者

這個前提是在你指令碼執行過程中,其他指令碼也需要執行並呼叫,然後可以把函式放到環境變數中,再從指令碼中讀取環境變數

shell指令碼怎麼呼叫其他shell指令碼

2樓:

在shell中要如何呼叫別的shell指令碼,或別的指令碼中的變數,函式呢?

方法一: . .

/subscript.sh方法二: source .

/subscript.sh注意:1.

兩個點之間,有空格,千萬注意.

2.兩個指令碼不在同一目錄,要用絕對路徑

3.為簡單起見,通常用第一種方法

例如:複製****如下:

main.sh #主指令碼subscripts.sh #子指令碼,或者說被調指令碼[code]

[code]

###subscripts.sh 指令碼內容如下:####!/bin/bash

string="hello,world! \n"

複製****如下:

###main.sh 指令碼內容如下###

#!/bin/bash

. ./subscripts.sh

echo -e $

exit 0

輸出結果:

複製****如下:

# chmod +x ./main.sh

# ./main.sh

hello,world!#

shell指令碼里的函式怎麼呼叫???

3樓:匿名使用者

shell中的函式,要在定義這個函式的指令碼中進行呼叫!

#!/bin/sh

echo_line()

echo_hello()

##在這裡呼叫 ,  將全部**寫入test.sh就可以了echo "call echo_hello"

echo_hello

echo "call echo_line"

echo_line

在命令列下執行:

$  test.sh

4樓:超超露露戀

shell指令碼使用函式的格式如下:

函式名()

呼叫方式如下:

函式名 引數列表

舉個例子:編寫一函式add求兩個數的和,這兩個數用位置引數傳入,最後輸出結果。

root@ubuntu:/home/study# vi test3#!/bin/bash

add()

add $1 $2

root@ubuntu:/home/study# chmod +x test3

root@ubuntu:/home/study# ./test3 1 2

總結:一個函式或者多個函式大同小異。

5樓:二洋犀摙

你寫的這shell執行起來不需要命令列引數,你這沒結果是因為,你沒執行此函式,只要在下面加上echo_hello就行了 檢視原帖》

6樓:匿名使用者

source test.sh

echo_hello

7樓:北廣英嬴醜

在**複用及可維護性方面,函式有著巨大的優勢,因此,把常用功能封裝成函式是一件非常平常的事。shell指令碼中,怎麼定義函式及使用函式:

函式定義:

#func_name

函式名function

func_name()或#

func_name

函式名func_name()

函式呼叫:

func_name

parm

函式體中,可以通過$1

$2...$9接受函式呼叫中的變數

函式可以通過return

返回函式執行的結果

可以通過下面一個簡單例子,來看下在shell指令碼中怎麼定義使用函式:

1、在/root/bin目錄下新建函式檔案main.funvim/root/bin/main.fun2、在main.fun檔案中編寫函式findit內容#!/bin/sh

function

findit()

3、shell中載入函式檔案/root/bin/main.fun./root/bin/main.fun

4、檢查載入檔案

setset命令將在shell中顯示所有的載入函式5、呼叫函式

findit

mysql

php#在home

目錄查詢檔案mysql

和檔案php

shell指令碼里的函式怎麼呼叫

8樓:西湖釣秋水

在**複用及可維護性方面,函式有著巨大的優勢,因此,把常用功能封裝成函式是一件非常平常的事。shell指令碼中,怎麼定義函式及使用函式:

函式定義:

# func_name 函式名

function func_name()

或# func_name 函式名

func_name()

函式呼叫:

func_name parm

函式體中,可以通過$1 $2 ...$9接受函式呼叫中的變數函式可以通過return 返回函式執行的結果可以通過下面一個簡單例子,來看下在shell指令碼中怎麼定義使用函式:

1、在/root/bin目錄下新建函式檔案main.funvim /root/bin/main.fun2、在main.fun檔案中編寫函式findit內容#!/bin/sh

function findit()

3、shell中載入函式檔案/root/bin/main.fun. /root/bin/main.fun

4、檢查載入檔案

setset命令將在shell中顯示所有的載入函式5、呼叫函式

findit mysql php #在home 目錄查詢檔案mysql 和檔案php

shell指令碼里怎樣在呼叫python時傳引數

python 可以利用 sys.argv 拿到命令列上的 arguments python test.py 1 2 3 test.py import sys print sys.argv 結果 test.py 1 2 3 所以你在 build using xctool.sh 中可以這樣排程 pyth...

linux 2 6的shell指令碼中如何kill掉 sleep程序

你是說找到系統中所有名字為sleep的程序id,並且殺死它們,是嗎?我沒有linux平臺測試,我使用的hp ux,下面的 你可能需要適當調整才可以使用。下面的命令可以找出系統中的所有程序 ps e 要查詢所有名稱為sleep的經常,有的系統可以給ps使用 n引數,例如 ps n sleep 但是通用...

html中呼叫python指令碼,如何通過html來執行python指令碼

最常用的復是用jquery的制ajax功能是 function serialgen 當然是不行的,指令碼執行需要有 直譯器的。也就是 例如 win平臺下的 python.exe 檔案。你可以使用web頁面,將檔案上傳到伺服器,然後在伺服器執行指令碼並將處理結果,返回到客戶端。如何通過html來執行p...