1. ホーム
  2. shell

[解決済み] あるシェルスクリプトの関数を別のシェルスクリプトから呼び出すことはできますか?

2022-09-30 13:49:13

質問

2つのシェルスクリプトがあります。

2つ目のシェルスクリプトには、以下の関数が含まれています。 second.sh

func1 
func2

最初の.shは、いくつかのパラメータで2番目のシェルスクリプトを呼び出します。 はその関数に固有の他のいくつかのパラメータでfunc1とfunc2を呼び出します。

以下は、私が話していることの例です。

second.sh

val1=`echo $1`
val2=`echo $2`

function func1 {

fun=`echo $1`
book=`echo $2`

}

function func2 {

fun2=`echo $1`
book2=`echo $2`


}

first.sh

second.sh cricket football

func1 love horror
func2 ball mystery

どうすれば実現できるのでしょうか?

どのように解決するのですか?

あなたの second.sh スクリプトをこのように修正します。

func1 {
   fun="$1"
   book="$2"
   printf "func=%s,book=%s\n" "$fun" "$book"
}

func2 {
   fun2="$1"
   book2="$2"
   printf "func2=%s,book2=%s\n" "$fun2" "$book2"
}

そして、スクリプトからこれらの関数を呼び出します。 first.sh のようにします。

source ./second.sh
func1 love horror
func2 ball mystery

OUTPUTです。

func=love,book=horror
func2=ball,book2=mystery