0 または 1 (たとえば true または false) を返し、引数を使用する関数を作成し、別の関数に変数を作成してその関数の結果を保存しようとします。最後に、変数が0または1(trueまたはfalse)であることを確認します。
以下は私が試しているものの例です。
#!/bin/bash
_has_string() {
if [ $1 == "string" ];
return 0
else
return 1
fi
}
_my_func() {
var=$(_has_string "string")
if [ $var == "0" ]; then
echo "var contains string"
else
echo "var does not contain string"
fi
}
_my_func
私はいくつかのバリエーションを試しましたが、うまくいく方法を見つけることができないようです。私のすべてのバリアントは基本的に何も返しません$var
。 0ではありません。空ではありません。文字通り、空です。
ベストアンサー1
出力を終了コードと混同しています。
_my_func() {
if _has_string 'string'; then
また、変数を引用する必要があります。これは_has_string
次のように単純化できます。
_has_string() {
[ "$1" = 'string' ]
}