我有一個perl腳本,它需要來自shell腳本的值。如何從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");
但它不工作。請幫我
我有一個perl腳本,它需要來自shell腳本的值。如何從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");
但它不工作。請幫我
#!/bin/bash
return_value(){
value=$(///some unix command)
echo "$value"
}
return_value
=
任何空格。$
放在作爲分配目標的變量名稱之前。return
設置函數的退出狀態,它不會產生輸出)。$value
放在引號中。只要寫
echo $value
在你的bash代碼
和輸出將顯示爲Perl代碼的反引號的結果。
backqoutes替代stdout,而不是返回值(它只是一個整數)。如果您使用
echo $value
而不是return $value
它會按照您的預期工作。更簡單的仍然是
some unix command
作爲您的bash腳本中的單行。
謝謝@Barmar !!這工作完美! – user2475677