myScript
端末に文字列を印刷するスクリプトがありますが、出力値を確認したいと思います。 (この場合resultString
)
この方法を試しましたが、成功しませんでした。
(単純化のためにスクリプトを次に置き換えたので、この場合はecho something
出力になります。)'something'
echo something |
if test - = something
echo true
else
echo false
end
# this prints the false while it should be true!
また、出力を変数に設定しようとしましたが、そのうちの1つも機能しませんでした。
echo something |
set x -;
if test $x = something
echo true
else
echo false
end
# this prints the false while it should be true!
答え1
test
これが「標準入力から読むこと」set
が何を意味するのか理解していません。-
代わりに使用してくださいread
:
echo something |
read x
if test "$x" = something
echo true
else
echo false
end
答え2
100%はわかりませんが、これらのコマンドは標準入力から入力を受け取ることset
ができるとは思いません。if
私は上を見上げたhttps://github.com/fish-shell/fish-shell/issues/6173
test
そして少し変なようですfish
。この問題を解決できませんでした。しかし、これはうまくいきます。
if /usr/bin/test (someCommand) = "hello"
echo t
else
echo f
end
これがbashで起こっていることです
if test "$(someCommand)" = "hello"
then
echo t
else
echo f
fi
より良い答えが必要です。しかし、動作します。