패키지가 설치되어 있는지 여부와 포트 8080이 특정 프로세스에서 사용되고 있는지 여부를 확인하는 스크립트가 있습니다. 나는 bash에 전혀 경험이 없으므로 다음과 같이했다.
if dpkg -s net-tools; then
if netstat -tlpn | grep 8080 | grep java; then
echo "Shut down server before executing this script"
exit
fi
else
echo "If the server is running please shut it down before continuing with the execution of this script"
fi
# the rest of the script...
그러나 스크립트가 실행될 때 터미널 dpkg -s net-tools
에서 netstat -tlpn | grep 8080 | grep java
출력 과 출력을 모두 얻습니다. 필자는 원하지 않습니다. 출력을 숨기고 if
s 의 결과를 고수 할 수 있습니까?
또한 내가하고있는 일을하는 더 우아한 방법이 있습니까? 그리고 알 수있는 더 우아한 방법이 무엇 있는 경우 포트 8080 (이 사용되고 아닌 경우)를 사용하는 과정은?
grep -q
, 그리고 새로운 bash는&> ...
동의어에 대한 등> ... 2>&1