私はシェル スクリプトを初めて使用します。パラメーターとして渡される連結された 2 つの文字列を返す単純な関数を作成しようとしています。以下のコードで試しました
function getConcatenatedString() {
echo "String1 $1"
echo "String2 $2"
str=$1/$2
echo "Concatenated String ${str}"
echo "${str}"
}
//上記の関数を呼び出しています
constr=$(getConcatenatedString "hello" "world")
echo "printing result"
echo "${constr}"
echo "exit"
上記のコードでスクリプトを実行すると、以下の出力が表示されます。
printing result
String1 hello
String2 world
Concatenated String hello/world
hello/world
exit
コードを見ると、最初に関数を呼び出してから「印刷結果」ステートメントをエコーしていますが、結果は最初に「印刷結果」になり、関数内のステートメントをエコーします。関数を呼び出す以下のステートメントですか
constr=$(getConcatenatedString "hello" "world")
また
echo ${constr}
関数を呼び出していますか?
#echo ${constr} をコメントアウトすると、何もエコーされないからです!!! 私を明確にしてください。