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!
또한 출력을 변수로 설정하려고 시도했지만 그 중 하나도 작동하지 않았습니다.
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
더 나은 대답이 있어야합니다. 하지만 작동합니다.