如何在perl脚本中从shell脚本返回值

如何在perl脚本中从shell脚本返回值,perl,shell,unix,Perl,Shell,Unix,我有一个perl脚本,它需要来自shell脚本的值 以下是shell脚本(a.sh): 以下是perl脚本: /// 但它不起作用。请帮帮我就写吧 echo $value 在bash代码中,输出将显示为Perl代码中的反勾号的结果 #!/bin/bash return_value(){ value=$(///some unix command) echo "$value" } return_value shell变量赋值中的=周围不能有空格 不要将$放在作为赋值目标的变量名之前 P

我有一个perl脚本,它需要来自shell脚本的值

以下是shell脚本(a.sh):

以下是perl脚本: ///

但它不起作用。请帮帮我就写吧

echo $value
在bash代码中,输出将显示为Perl代码中的反勾号的结果

#!/bin/bash
return_value(){
  value=$(///some unix command)
  echo "$value"
}

return_value
  • shell变量赋值中的
    =
    周围不能有空格
  • 不要将
    $
    放在作为赋值目标的变量名之前
  • Perl的backticks捕获命令的标准输出,因此必须回显该值(
    return
    设置函数的退出状态,它不生成输出)
  • 你必须执行这个函数
  • 如果包含空格或文件名通配符,则应将
    $value
    放在引号中

  • Backqoutes替换标准输出,而不是返回值(它只是一个整数)。如果你用

    echo $value
    
    而不是
    return$value
    ,它会像您期望的那样工作。更简单的是

    some unix command
    
    作为bash脚本中的单行

    echo $value
    
    some unix command