他のシェルスクリプトからシェルスクリプトを呼び出す

他のシェルスクリプトからシェルスクリプトを呼び出す

ユーザー指定の値に10を掛けるプログラムがある場合、パラメータが渡され、そのパラメータを取得し、他のプログラムの出力を収集してテーブルに編成する別のbashスクリプトをどのように作成しますか?

たとえば、

    [user]$ table 1 5
    #
    #Value  Result
     1      10
     5      50
    [user]$

答え1

#!/bin/sh
tenTimes(){
  expr "$1" \* 10
}

table(){
  printf '%s\t%s\n' \#Value Result
  for a; do
    printf '%s\t%s\n' "$a" "$(tenTimes "$a")"
  done
}

table 1 5

出力:

#Value  Result
1   10
5   50

答え2

絶対パスまたは相対パスを使用して、シェルソルバーを介してこれを実行できます。

/bin/sh /usr/local/bin/script
/usr/sbin/ksh ~/script

たぶん含まれているライブラリのようなものを使用したいかもしれません。

#!/bin/sh
func_a() { echo $(($1%42)); }

他のファイルから:

#!/bin/sh
. ~/path/to/func_a_file
func_a

あるいは、結果を変数に割り当てながらスクリプトを呼び出すこともできます。

var1=$(~/path/to/script)

関連情報