linux - 如何从 bash shell 脚本子例程返回数据?

标签 linux bash shell

给定以下两个可执行脚本:

----- file1.sh

#!/bin/sh
. file2.sh
some_routine data

----- file2.sh

#!/bin/sh
some_routine()
{
    #get the data passed in
    localVar=$1
}

我可以将“数据”传递给另一个脚本中的子例程,但我也想返回数据。

是否可以从 some_routine 返回信息?

e.g: var = some_routine data

最佳答案

让子程序输出一些东西,然后使用$() 捕获输出:

some_routine() {
    echo "foo $1"
}

some_var=$(some_routine bar)

关于linux - 如何从 bash shell 脚本子例程返回数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9711589/

相关文章:

c++ - 混合调试和发布库 : Windows vs Linux, 静态与共享

linux - 使用 vmstat 时没有通过管道写入任何内容

java - 为 java 类路径使用环境变量在 shell 脚本中不起作用

shell - 在GCP中,SSH进入虚拟机和使用Cloud Shell有什么区别?

linux - 保留从 ant sshexec 任务更改的环境变量值

c++ - ncurses getch() 跳过每个第二个字符

Linux - 如何替换字符串而不在包含它的其他模式中删除它

c - 如何在 C 脚本中分配从命令行传递的文件名?

python - bash 脚本中的间歇性语法错误涉及 echo、python 脚本、grep、sed、bc 和 date

arrays - 如何将多个字节附加到文件末尾