シェルスクリプトが機能しない理由を理解できません。変数でシェル関数を実行
#!/bin/sh
getProjectsNames() {
list=`ls -a`
return $list
}
projectsNames=`getProjectsNames`
echo $projectsNames
このコードは、エラーを返して:あなたの助けのための
script.sh: 6: return: Illegal number: .
感謝を!
シェルスクリプトが機能しない理由を理解できません。変数でシェル関数を実行
#!/bin/sh
getProjectsNames() {
list=`ls -a`
return $list
}
projectsNames=`getProjectsNames`
echo $projectsNames
このコードは、エラーを返して:あなたの助けのための
script.sh: 6: return: Illegal number: .
感謝を!
UNIXシェルでは、return
ステートメントは、というプログラムの終了コードとして適格であるの番号のみを返すことができます。ほとんどのLinuxおよびUnixシステムでは、それはだ、0〜
あなたは、文字列を渡しstdoutおよび出力キャプチャを使用したい場合は255:
#!/bin/sh
getProjectsNames() {
list=`ls -a`
echo "$list"
}
projectsNames=$(getProjectsNames)
注return $list
からecho "$list"
への変更を。
そのreturn
は、関数から返す何かをキャプチャしたい場合は
#!/bin/sh
getProjectsNames() {
list=$(ls -a)
echo "$list"
}
projectsNames=$(getProjectsNames)
echo $projectsNames
参照、例えば、echo
を使用するので、手動return [n] : Causes a function to exit with the return value specified by n
から
を参照してください、数値を期待しているためこのリンクの詳細はこちらStackOverFlow
'projectsNames = $(getProjectsNames)' – SriniV