echo $-1
, echo $-2
, .. 의 출력은 무엇을 echo $-3
의미합니까?
내 Linux 컴퓨터 중 하나에 다음이 표시됩니다.
echo $-1
imsBEl1
echo $-2
imsBEl2
다른 Linux 상자에는 다음이 표시됩니다.
echo $-1
himBH1
echo $-2
himBH2
메모리 위치나 다른 위치에 매핑되어 있습니까?
답변1
답변2
echo $-
현재 쉘에 대한 옵션을 인쇄합니다( -
접두사 없이). 관련 없는 추가 태그 1
입니다 2
.
답변3
Miroslav의 답변에 추가:
echo $-
현재 쉘에 대한 옵션을 인쇄합니다(-
접두사 없이). 1과 2는 추가적인 관련 없는 마커입니다.
즉, 이러한 옵션은 각 시스템에 개별적으로 적용됩니다.
imsBEl
himBH
각 기호의 의미를 조사해 봤습니다다음의 의미는 몇 가지 설명으로 정리되어 있습니다.
-나
-i 옵션이 있으면 쉘은 대화형입니다.
-중
모니터 모드. 작업 제어가 활성화되었습니다.
-비
쉘은 중괄호 확장을 수행합니다(지원 연장 보기). 이 기능은 기본적으로 활성화되어 있습니다.
-에스
-s 옵션이 있거나 옵션 처리 후 남은 인수가 없는 경우 표준 입력에서 명령을 읽습니다. 이 옵션을 사용하면 대화형 쉘을 호출할 때 위치 매개변수를 설정할 수 있습니다.
-이자형
오류 추적
-엘
Bash가 로그인 셸로 호출된 것처럼 동작하도록 만들기
-시간
하셸
-H 역사 확장
기본적으로 대화형 셸에는 이 기능이 활성화되어 있습니다.
답변4
기존 답변을 확장하려면 시도해 echo "${-1}"
보십시오 echo "${-2}"
."잘못된 대체" 오류하이픈은 -1
변수 이름에는 사용되지 않지만 변수 이름에는 사용되지 않습니다.값을 대체하다변수 이름이 있는 경우그 전에정의되지 않았습니다. 예를 들어:
$ unset foo
$ echo "${foo-bar}"
bar
$ foo=test
$ echo "${foo-bar}"
test