2013-04-10 3 views
0

저는 BASH 스크립팅을 시작하면서 문제가 발생했습니다.인쇄 명령을 통해 BASH 스크립트의 출력을 얻을 수 있습니까?

변수의 값을 출력하려고하는데 echo 명령을 통해이를 수행 할 수 있습니다. print 명령을 사용하려고하면 오류가 표시됩니다. 여기

print 명령을 사용하려고 문제 :

[email protected]:~$ y=$HOME 
[email protected]:~$ print -- $y 
**Warning: unknown mime-type for "/home/ian" -- using "application/octet-stream" 
Error: no "print" mailcap rules found for type "application/octet-stream"** 

..는 여기 echo

[email protected]:~$ echo $HOME 
/home/ian 

print 명령이 지원되지 않습니다 사용하여 출력은? 또는 내 환경에 문제가 있습니까? 내가 print 할 것으로 예상 무엇

: 나는 분투 피드백 \ 응답 다음

업데이트 12.10를 사용하고 필요한 경우

?

echo 명령에서와 같이 변수의 값을 출력합니다.

왜이 동작이 필요합니까?

위의 예에서 사용한 인쇄 예제를 사용했습니다. 오류가 출력되지 않습니다. 그래서이 오류가 발생하는 이유를 알고 싶었습니다.

의 예는 Korn 셸을 사용하여입니다. 나는 바스 껍질을 사용하고있는 것에 감사하지만 나의 순진함에서 나는 그것이 작동해야한다고 생각했다.

+0

당신이'print'이 무엇을 기대합니까? 실제로'print'가 무엇을하는지 보려면'man print'를 시도하십시오. 코지로의 대답에서 알 수 있듯이, printf가 필요할 것 같습니다. 'printf - $ y'는 후행 개행없이 값을 출력합니다. –

+0

압도적 인 답변에 감사드립니다. 제 질문을 업데이트하겠습니다. –

답변

4

print은 (는) 표준 쉘 명령이 아닙니다. printf을 생각 하시나요?

시작하려면 shell scripting guide을 읽어보십시오.

는 (이 이름의 확장을 표시하지 않는, 파일을 인쇄의 것처럼 print command you have on your system 보입니다.)

+0

'print'는 설치되어있는 명령 일 수 있습니다. 우분투 시스템에서'/ usr/bin/print'는'mime-support' 패키지에 의해 제공됩니다. –

+0

@KeithThompson 예, 쉘 명령이 아닌 외부 명령입니다. 나는 내 대답을 분명히 할 것이다. – kojiro

+0

"쉘 명령"이 의미하는 바에 달려 있습니다. OP가'print '의'mime-support' 버전을 호출하는 것처럼 보입니다.하지만 아마도 그가 원하는 것은 아닙니다. –

관련 문제