최고의 쉘의 printf 명령 튜토리얼 2024년, 이 튜토리얼에서는 printf와의 이스케이프 시퀀스,를 배울 수 있습니다.
우리가 셸을 배운 마지막 장에서는이 장에서 우리는 또 다른 출력 셸 명령 printf의 내용, 명령을 에코.
printf의 명령은의 printf () 프로 시저에서 C 라이브러리 (라이브러리)를 모방.
표준 정의, 그래서 사용의 printf 스크립트 에코 휴대 성을 사용하는 것보다 더 나은.
기준 텍스트 또는 공백으로 구분 된 매개 변수를 사용하여 printf와의 printf의 형식 문자열 외부에서 사용할 수 있습니다, 당신은 또한 좌우 정렬에 너무 문자열의 폭을 개발하고 있습니다. 기본의 printf가 자동으로 에코와 같은 줄 바꿈을 추가하지 않습니다, 우리는 \ n 수동으로 추가 할 수 있습니다.
printf의 명령 구문 :
printf format-string [argumentsko.]
매개 변수 설명 :
다음 예는 다음과 같다 :
$ echo "Hello, Shell" Hello, Shell $ printf "Hello, Shell\n" Hello, Shell $
다음으로 강력한 printf의를 반영하기 위해 스크립트를 사용 :
#!/bin/bash # author:本教程 # url:www.w3write.com printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234 printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543 printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876
스크립트를 실행하여 다음과 같이 출력은 :
姓名 性别 体重kg 郭靖 男 66.12 杨过 男 48.65 郭芙 女 47.99
% S % 다 % d 개 % f를 포맷 자리입니다
% -10s 10 문자의 폭을 참조하십시오 (- 왼쪽 정렬, 오른쪽 정렬, 안된다고에 대한) 모든 문자가 10 문자 넓은 문자를 표시 충분한 공간이 자동으로 작성되는 경우,이 내용보다 더 될 것입니다 그들 모두를 보여줍니다.
%의 -4.2f는 0.2이 소수 자릿수를 의미 진수 형식을 의미합니다.
더 많은 예제 :
#!/bin/bash # author:本教程 # url:www.w3write.com # format-string为双引号 printf "%d %s\n" 1 "abc" # 单引号与双引号效果一样 printf '%d %s\n' 1 "abc" # 没有引号也可以输出 printf %s abcdef # 格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用 printf %s abc def printf "%s\n" abc def printf "%s %s %s\n" a b c d e f g h i j # 如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替 printf "%s and %d \n"
스크립트를 실행하여 다음과 같이 출력은 :
1 abc 1 abc abcdefabcdefabc def a b c d e f g h i j and 0
순서 | 설명 |
---|---|
\ | 문자 경고 일반적으로 ASCII 문자 BEL |
\ B | 후퇴 |
\ C | 매개 변수에 남아있는 자, 어떤 매개 변수와 이후 여행에서의 억제 (도시하지 않음) (만 %의 B 형식으로 표시 제어 아래에있는 매개 변수 문자열에 유효) 후행 개행 문자를 출력하고, 포맷 스트링 문자는 무시됩니다 |
\ F | FF (폼 피드) |
\ N | 랩 |
\ R | 입력 (캐리지 리턴) |
\ T | 수평 탭 |
\ V | 수직 탭 |
\\ | 리터럴 백 슬래시 문자 |
\ DDD | 문자 1-3 자리 진수 값을 나타냅니다. 단지 형식 문자열에 해당 |
\ 0ddd | 캐릭터의 1-3 진수 값을보기 |
$ printf "a string, no processing:<%s>\n" "A\nB" a string, no processing:<A\nB> $ printf "a string, no processing:<%b>\n" "A\nB" a string, no processing:<A B> $ printf "www.w3write.com \a" www.w3write.com $ #不换行