我有一个 perl 脚本,它需要一个来自 shell 脚本的值。
以下是 shell 脚本 (a.sh):
#!/bin/bash
return_value(){
$value =$(///some unix command)
return $value
}
以下是 perl 脚本:///
my $answer= `sh a.sh`;
print("the answer is $answer");
但它不起作用。请帮帮我
写吧
echo $value
在您的 bash 代码中,输出将显示为 Perl 代码中反引号的结果。
#!/bin/bash
return_value(){
value=$(///some unix command)
echo "$value"
}
return_value
=
在 shell 变量赋值中不能有任何空格。$
作为赋值目标的变量名之前。return
设置函数的退出状态,它不会产生输出)。$value
引号。Backqoutes 替换标准输出,而不是返回值(它只是一个整数)。如果你用过
echo $value
而不是return $value
它会像你期望的那样工作。更简单的仍然是
some unix command
作为 bash 脚本中的单行。