나는 여러 창 관리자를 icewm openbox wmaker로 사용하고 다른 창 관리자를 사용하여 범용 실행 프로그램을 사용합니다.
한 줄에는 다음과 같은 내용이 있습니다(트레이 바에 볼륨 조절 애플릿을 로드하여 시스템에 즉시 설치됨).
(pnmixer || volumeicon || volti || pa-applet || pasystray || padevchooser) 2>/dev/null &
이 줄을 사용하면 시작 스크립트가 백그라운드에서 계속 실행되는 것을 알 수 있습니다(xfce4-taskmanager를 실행하거나 ps 명령을 사용하면 나열됩니다).
그 때문에 나는 다음 줄을 다시 작성하기로 결정했습니다.
if [ -f /usr/bin/pnmixer ]; then pnmixer &
elif...
elif...
fi
질문? 터미널에 다음과 같이 쓰면 알 수 있습니다. (프롬프트가 반환되지 않습니다.)
(anyword || ls) &
프롬프트가 반환되지 않는 이유는 무엇입니까? 아니면 시작하고 계속 실행하시겠습니까? if then을 사용하지 않고 제안된 첫 번째 줄을 사용할 수 있습니까?
답변1
문제를 재현할 수 없습니다. 그냥 쿠스라난다가 제안하는 대로 쳐보세요 Enter
.
다음의 출력이 크게 다른가요?
$ (anyword || ls -a )& echo main is back; sleep 2; echo finished
[3] 450612
main is back
anyword: command not found
. ..
[3]- Done ( anyword || ls --color=auto -a )
finished
$