我有一个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");
但它不起作用。请帮帮我
答案 0 :(得分:3)
只需写下
echo $value
在您的bash代码中,输出将显示为Perl代码中反引号的结果。
答案 1 :(得分:3)
#!/bin/bash
return_value(){
value=$(///some unix command)
echo "$value"
}
return_value
=
周围不能有任何空格。$
放在作为作业目标的变量名称之前。return
设置函数的退出状态,它不会产生输出。)$value
放在引号中。答案 2 :(得分:1)
Backqoutes替换stdout,而不是返回值(只是一个整数)。如果您使用
echo $value
而不是return $value
它会像您期望的那样工作。更简单仍然是
some unix command
作为bash脚本中的单行。