korn 쉘에서 인쇄 명령을 찾을 수 없다는 메시지가 계속 나타납니다. 쉘에서 인쇄를 실행하면 같은 내용이 표시됩니다. 이 문제를 어떻게 해결할 수 있나요? printf는 잘 작동하지만 어떤 이유로든 print는 작동하지 않습니다.
이것은 Redhat 5.5이고 ksh는 3.2.25 릴리스입니다.
감사해요
답변1
더 많은 정보를 제공할 수 있나요? "print"는 항상 존재해야 하는 ksh의 쉘 내장 기능입니다. 다음은 내 Redhat 시스템에 대한 일부 정보입니다.
$ cat /etc/redhat\-release
Red Hat Enterprise Linux Workstation release 6.3 (Santiago)
$ /bin/ksh --version
version sh (AT&T Research) 93t+ 2010-06-21
$ whence -v print
print is a shell builtin
"print"라는 별칭이 없는지 확인할 수도 있습니다. /usr/bin 또는 /bin 등에 "print"라는 실행 파일이 없습니다. 이것이 당신에게도 효과가 있는지 확인할 수 있습니다. 새 셸 인스턴스를 시작하고("/bin/ksh" 입력) 다음과 같이 말합니다.
PATH= whence -v print
답변2
ksh에는 해당 버전이 없습니다. 하지만 이는 RHEL 5.5의 bash 버전이므로 bash를 사용하고 있는 것으로 보입니다. ksh 내장 기능을 찾고 계십니까? 사용 echo
하거나 printf
대체하십시오. 또는 ksh를 실행하십시오(설치되지 않을 수 있습니다. bash는 비임베디드 Linux 설치에서 사실상 표준 쉘입니다).
print
POSIX 호환 번역 옵션에 대한 안내입니다 printf
.
- 옵션이 없거나
-e
:printf '%b\n'
- 용도
-n
:\n
형식에서 (printf %b
또는printf %s
) 생략 -p
: 코프로세스가 필요하면 ksh가 필요합니다- 또는 :
-r
-R
printf '%s\n'
-s
>>
: 추가를 위해 원하는 출력 파일로 명시적으로 리디렉션-u
: 리디렉션을 사용하세요.printf … >&3