Bash Shell "onecmd" 옵션 사용 목적

Bash Shell "onecmd" 옵션 사용 목적

매뉴얼 페이지를 읽었지만 bash 옵션의 목적을 이해하지 못합니다 onecmd. 이 명령을 사용하면 set -o onecmd쉘이 즉시 종료됩니다. 내 기대는 종료하기 전에 명령을 하나 더 입력할 때까지 기다릴 것이라는 것이었지만 그런 일은 일어나지 않았습니다.

그렇다면 이 옵션은 exit명령과 동일합니까?

Bash가 이 옵션을 제공하는 이유는 무엇입니까?

누군가 이 옵션을 올바르게 사용하는 방법에 대한 예를 들어줄 수 있습니까?

답변1

이유는 모르겠지만 여기서처럼 셸을 시작할 때 명령줄에서 옵션을 설정할 수 있다는 점에 유의하세요. 내부 셸은 명령을 읽은 다음 종료됩니다.

bash$ PS1='onecmd$ ' bash -t 
onecmd$ echo moi;
moi
bash$

그리고 하나의 명령을 읽은 후에 실제로 종료되지는 않지만 적어도 하나의 완전한 명령을 읽고 실행합니다.철사. 이는 두 명령과 동일합니다.

bash$ PS1='onecmd$ ' bash -t 
onecmd$ echo moi; echo hei
moi
hei
bash$

물론 예를 사용하거나 &&전체 명령 세트를 래핑하는 것도 if true; then ... fi작동합니다.

관련 정보