Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash返回值_Bash - Fatal编程技术网

bash返回值

bash返回值,bash,Bash,我喜欢编写另一个脚本调用的脚本或函数(还不确定是哪一个)。脚本或函数用于生成多个值。如何在bash中编写这些脚本,以便在其他脚本中获得脚本或函数返回的值 特别感谢您的例子 谢谢和问候 作为由已知字符分隔的字符串(例如冒号,如$PATH等的约定)?作为由已知字符分隔的字符串(例如冒号,如$PATH等的约定)?让生成输出的脚本将其输出发送到stdout,并让调用脚本使用反勾号将其拉入。示例代码: 脚本1.sh: #!/bin/bash echo 1 2 3 4 脚本2.sh: #!/bin/bas

我喜欢编写另一个脚本调用的脚本或函数(还不确定是哪一个)。脚本或函数用于生成多个值。如何在bash中编写这些脚本,以便在其他脚本中获得脚本或函数返回的值

特别感谢您的例子


谢谢和问候

作为由已知字符分隔的字符串(例如冒号,如
$PATH
等的约定)?

作为由已知字符分隔的字符串(例如冒号,如
$PATH
等的约定)?

让生成输出的脚本将其输出发送到stdout,并让调用脚本使用反勾号将其拉入。示例代码:

脚本1.sh:

#!/bin/bash
echo 1 2 3 4
脚本2.sh:

#!/bin/bash

for ITEM in `script1.sh`
do
    echo Item = $ITEM
done

让生成输出的脚本将其输出发送到stdout,并让调用脚本使用backticks将其拉入。示例代码:

脚本1.sh:

#!/bin/bash
echo 1 2 3 4
脚本2.sh:

#!/bin/bash

for ITEM in `script1.sh`
do
    echo Item = $ITEM
done

使用Bash变量$IFS(内部字段分隔符)

产出:

二垒

如果使用的字符不会出现在数据中,例如冒号,则可以使用其他字符,例如空格


使用Bash变量$IFS(内部字段分隔符)

产出:

二垒

如果使用的字符不会出现在数据中,例如冒号,则可以使用其他字符,例如空格


然后,使用
$()

然后如何提取这些值?你是指函数还是脚本?你能举一些例子吗?你可以把它们发送到STDOUT,然后用你的程序捕获它们,或者你可以将它们通过管道传输到一个文件,然后读取该文件。如果您使用的是perl,您可以执行如下操作:$output=
myScript.sh
;很好的旧perl。myScript.sh位周围应该有反勾号“`”。然后如何提取这些值?你是指函数还是脚本?你能举一些例子吗?你可以把它们发送到STDOUT,然后用你的程序捕获它们,或者你可以将它们通过管道传输到一个文件,然后读取该文件。如果您使用的是perl,您可以执行如下操作:$output=
myScript.sh
;很好的老perl。myScript.sh位周围应该有反勾号“`”。反勾号是个可怕的主意。哇,太刺耳了。有两套不同的语法是有原因的——有时一套更方便。更不用说,有些贝壳(承认是旧的和破的)无论如何也不能做($())了。背虱是个可怕的主意。哇,这太残酷了。有两套不同的语法是有原因的——有时一套更方便。更不用说,有些贝壳(承认是旧的和破的)无论如何也不起作用。