用另一个 shell 脚本调用一个 shell 脚本

用另一个 shell 脚本调用一个 shell 脚本

如果我有一个程序将用户提供的值乘以 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

您可以通过具有绝对或相对路径的 shell 解释器来实现;

/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)

相关内容