ksh 명령

용도

Korn 쉘을 호출합니다.

구문

ksh [ -i ] [ { + | - } { a e f h k m n p t u v x } ] [ -o Option ... ] [ -c String | -s | -r | File [ Parameter ] ]

참고: -(빼기 부호)가 아닌 +(더하기 부호)를 플래그 앞에 두면 플래그가 해제됩니다.

설명

ksh 명령은 대화식 명령 해석기이자 명령 프로그래밍 언어인 Korn 쉘을 호출합니다. 쉘은 터미널 키보드로부터 대화식으로 또는 파일로부터 명령을 수행합니다.

Korn 쉘은 Bourne 쉘(bsh 명령으로 호출됨)과 역방향으로 호환 가능하며, 대부분의 Bourne 쉘 기능 뿐만 아니라 C 쉘에서 가장 훌륭한 여러 가지 기능도 포함합니다.

참고: 빌드된 ksh 대기는 parent wait() API와 유사한 방식으로 작동합니다.

ksh93이라는 향상된 Korn 쉘 버전 또한 사용 가능합니다. 향상된 Korn 쉘에는 디폴트 Korn 쉘에 사용할 수 없는 추가 기능이 있습니다.

또한 rksh라는 제한된 버전의 Korn 쉘을 사용할 수 있습니다. 관리자는 제한된 Korn 쉘을 사용하여 사용자에게 제어된 실행 환경을 제공할 수 있습니다.

플래그

항목 설명
-a 정의되어 있는 모든 후속 매개변수를 자동으로 반출합니다.
-c String Korn 쉘이 String 변수에서 명령을 읽도록 합니다. 이 플래그는 -s 플래그 또는 File[Parameter] 매개변수와 함께 사용할 수 없습니다.
-e 다음 조건이 아닌 한, ERR 트랩이 설정된 경우 트랩을 실행하고 명령의 종료 상태가 제로가 아닌 경우 종료합니다.
  • 단순 명령이 "&&" 또는 "||" 리스트에 포함되어 있습니다.
  • 단순 명령이 "if", "while" 또는 "until" 바로 뒤에 옵니다.
  • 단순 명령이 파이프라인에서 "!" 다음에 옵니다..
프로파일을 읽는 동안에는 이 모드를 사용할 수 없습니다.
-f 파일 이름 대체를 사용 안함으로 설정합니다.
-h 각 명령을 처음 발견되었을 때 추적된 별명으로 지정합니다.
-i 쉘이 대화식임을 표시합니다. 대화식 쉘은 쉘 입력 및 출력이 터미널에 접속된 경우에도 표시됩니다(ioctl 서브루틴에 의해 판별된 경우). 이 경우 TERM 환경 변수는 무시되며(kill 0 명령은 대화식 쉘을 종료하지 않음), INTR 신호가 예외 처리(catch)되고 무시됩니다(대기 상태를 인터럽트할 수 없음). 모든 경우에 QUIT 신호는 쉘에서 무시됩니다.
-k 명령행 앞의 인수뿐만 아니라 모든 매개변수 지정 인수를 명령에 대한 환경에 배치합니다.
-m 별도의 프로세스에서 백그라운드 작업을 실행하고 완료 시 한 행을 인쇄합니다. 백그라운드 작업의 종료 상태는 완료 메시지에서 보고됩니다. 작업 제어를 하는 시스템에서, 이 플래그는 대화식 쉘에 대해 자동으로 켜집니다.
-n 명령을 읽고 구문 오류가 있는지 검사하지만, 명령을 실행하지는 않습니다. 대화식 쉘의 경우에는 이 플래그가 무시됩니다.
-o Option 인수를 지정하지 않으면 현재 옵션 설정과 오류 메시지를 인쇄합니다. 이 플래그를 사용하여 다음 옵션 중 하나를 사용으로 설정할 수 있습니다.
allexport
-a 플래그와 같습니다.
errexit
-e 플래그와 동일합니다.
bgnice
모든 백그라운드 작업을 더 낮은 우선순위로 실행합니다. 이것이 디폴트 모드입니다.
emacs
명령 입력을 위해 emacs 양식 인라인 편집기를 시작합니다.
gmacs
명령 입력을 위해 gmacs 양식 인라인 편집기를 시작합니다.
ignoreeof
EOF 문자를 발견한 경우 쉘을 종료하지 않습니다. exit 명령을 사용하거나, 플래그를 재정의하고 11회 이상 Ctrl-D 키 시퀀스를 눌러서 쉘을 종료해야 합니다.
keyword
-k 플래그와 동일합니다.
markdirs
파일 이름 대체의 결과인 모든 디렉토리 이름에 /(슬래시)를 첨가합니다.
monitor
-m 플래그와 동일합니다.
noclobber
방향 재지정으로 인해 기존 파일이 절단되지 않도록 방지합니다. 이 옵션을 지정하는 경우에는 방향 재지정 기호 >|(오른쪽 캐럿, 파이프 기호)를 사용하여 파일을 절단하십시오.
noexec
-n 플래그와 동일합니다.
noglob
-f 플래그와 동일합니다.
nolog
함수 정의가 히스토리 파일에 저장되지 않도록 방지합니다.
nounset
-u 플래그와 동일합니다.
privileged
-p 플래그와 동일합니다.
verbose
-v 플래그와 동일합니다.
trackall
-h 플래그와 동일합니다.
vi
명령 입력을 위해 vi 양식 인라인 편집기의 삽입 모드를 시작합니다. 이스케이프 문자 033을 입력하면 편집기가 이동 모드가 됩니다. 리턴은 행을 전송합니다.
viraw
각 문자를 vi 모드에서 입력되는 것처럼 처리합니다.
xtrace
-x 플래그와 동일합니다.

단일 ksh 명령행에서 두 개 이상의 옵션을 설정할 수 있습니다.

-p 이 쉘을 로그인 쉘로 사용하는 경우 $HOME/.profile 파일의 처리를 사용 안함으로 설정합니다.
-r 제한된 쉘을 실행합니다. 제한된 쉘을 사용하면 다음 작업은 수행할 수 없습니다.
  • 현재 작업 디렉토리를 변경합니다.
  • SHELL, ENV 또는 PATH 변수의 값을 설정합니다.
  • /(슬래시)를 포함하는 명령의 경로 이름을 지정합니다.
  • >(오른쪽 탈자 기호), >|(오른쪽 탈자 기호, 파이프 기호), <>(왼쪽 탈자 기호, 오른쪽 탈자 기호) 또는 >>(두 개의 오른쪽 탈자 기호)를 사용하여 명령 출력의 방향을 재지정합니다.
이 플래그를 사용하는 것은 rksh 명령을 발행하는 것과 같습니다.
-s ksh 명령이 표준 입력으로부터 명령을 읽도록 만듭니다. 특수 명령 출력을 제외한 쉘 출력이 파일 설명자 2에 기록됩니다. 이 매개변수는 -c 플래그 또는 File[Parameter] 매개변수와 함께 사용할 수 없습니다.
-t 하나의 명령을 읽고 실행한 후 종료합니다.
-u 대체 중에 설정 해제 매개변수를 오류로 처리합니다.
-v 쉘 입력 행을 읽을 때 인쇄합니다.
-x 실행된 명령 및 해당 인수를 인쇄합니다.

파일

항목 설명
/usr/bin/ksh Korn 쉘에 대한 경로 이름을 포함합니다.
/tmp/sh* 쉘이 열릴 때 작성되는 임시 파일을 포함합니다.