내 스크립트가 이것을 처리하고 있습니다.
if pgrep -f "/home/tiger/bin/pymp" >/dev/null 2>&1 ; then
mpv2도 확인하고 싶습니다.
이것이 내가 지금까지 가지고 있는 것입니다:
if [[ /usr/bin/pgrep -f "/home/tiger/bin/pymp" ]] || [[ /usr/bin/pgrep -f "/usr/bin/mpv2" ]] >/dev/null 2>&1; then
내가 보는 오류는 다음과 같습니다.
/home/tiger/bin/pauseMusic.sh: 3행: 조건부 이진 연산자 필요 /home/tiger/bin/pauseMusic.sh: 3행: -f' /home/tiger/bin/pauseMusic.sh: line 3:
if [[ /usr/bin/pgrep -f "/home / 근처 구문 오류 /bin/pymp"]] || [[ /usr/bin/pgrep -f "/usr/bin/mpv2" ]] >/dev/null 2>&1; then'
답변1
[[
연산자는 ]]
명시적인 비교 테스트에 사용됩니다. 둘 다 확인하고 싶다면주문하다결과적으로 쉘을 사용하십시오.
$ if /usr/bin/pgrep -fq "/home/tiger/bin/pymp" || /usr/bin/pgrep -fq "/usr/bin/mpv2" ; then do_stuff; fi
모든 버전이 출력을 억제하는 매개변수를 pgrep
지원하는 것은 아닙니다. -q
이러한 상황이 발생하면 pgrep
각 리디렉션을 개별적으로 억제하거나 리디렉션을 결합할 수 있습니다.
$ if { /usr/bin/pgrep -f "/home/tiger/bin/pymp" || /usr/bin/pgrep -f "/usr/bin/mpv2";} > /dev/null 2>&1 then do_stuff; fi
또는
$ if /usr/bin/pgrep -f "/home/tiger/bin/pymp" > /dev/null 2>&1 || /usr/bin/pgrep -f "/usr/bin/mpv2" > /dev/null 2>&1 ; then do_stuff; fi