如何调用 bash 脚本或函数在另一个 bash 脚本中返回非数字值

问题描述 投票:0回答:1

我有 2 个 bash 脚本: sc1.sh

#!/bin/bash
function func_name() {
var123="abcd123"
return $var123
}
func_name

script2.sh

#!/bin/bash
var=  <-here I want to have value abcd123

如何做?我知道 sc1.sh 中有错误,因为返回仅需要数字。 我希望 sc1.sh 返回/导出等值,例如“abd3831d”,并在 sc2.sh 中使用该值并传递给另一个变量,例如: var=(sc1.sh 中 var123 的值)

bash
1个回答
0
投票

shell 中的脚本和函数产生 2 种类型的结果:

  1. 输出 - 例如来自
    echo "$foo"
  2. 退出状态 - 即来自脚本的
    exit 7
    或来自函数的
    return 7

在调用代码中,您可以使用以下命令捕获这两个内容:

  1. out=$(script_or_function)
    - 捕获变量 out 中的
    output
  2. script_or_function; err="$?"
    - 捕获变量 err
     中的 
    退出状态

按照您认为合适的方式混合搭配。

© www.soinside.com 2019 - 2024. All rights reserved.