이 명령의 결과를 테스트하고 싶습니다.
dmesg | grep "Firmware patch 1563"
그러므로 나는 다음과 같은 글을 쓰려고 노력한다.
if [ "`dmesg | grep "Firmware patch 1563`" == "" ]
하지만 작동하지 않습니다. 이 명령을 어떻게 다시 작성해야 합니까?
답변1
명령 결과를 직접 테스트할 수 있습니다.
if dmesg | grep -q "Firmware patch 1563"
파이프의 출력이 비어 있는지 확인해야 하는 경우,$()
명령 대체에 사용그리고 당신의 중첩인용 부호독립 명령을 사용할 때와 마찬가지로:
if [ -z "$(my_command | other_command "some argument")" ]
답변2
답변3
당신이 쓴 내용은 효과가 있을 것입니다. 인용문을 잊어버렸기 때문이 아닙니다. 그것은해야한다:
if [ "`dmesg | grep "Firmware patch 1563"`" == "" ]
"
뒤에 추가 내용을 참고하세요 1563
. 그렇게 말하면 내 생각에는다른 대답원하는 것을 달성할 수 있는 더 나은 방법을 제공합니다.