Latest web development tutorials
×

Linux หลักสูตร

Linux หลักสูตร Linux แนะนำโดยย่อ Linux ติดตั้ง Linux ขั้นตอนการเริ่มต้นระบบ Linux โครงสร้างไดเรกทอรีระบบ Linux วิธีการแก้ปัญหาลืมรหัสผ่านของคุณ Linux เข้าสู่ระบบจากระยะไกล Linux แอตทริบิวต์แฟ้มพื้นฐาน Linux ไฟล์และไดเรกทอรีการจัดการ Linux ผู้ใช้และการจัดการกลุ่มผู้ใช้ Linux การจัดการดิสก์ Linux vi/vim Linux yum คำสั่ง

Shell หลักสูตร

Shell หลักสูตร Shell ตัวแปร Shell ผ่านพารามิเตอร์ Shell ? อาร์เรย์ Shell ผู้ประกอบการ Shell echo คำสั่ง Shell printf คำสั่ง Shell test คำสั่ง Shell การควบคุมกระบวนการ Shell ฟังก์ชัน Shell Input / output เปลี่ยนเส้นทาง Shell ไฟล์มี

Linux คู่มืออ้างอิง

Linux คำสั่ง Daquan Nginx การติดตั้งและการกำหนดค่า MySQL การติดตั้งและการกำหนดค่า

เชลล์คำสั่ง printf

บทสุดท้ายเราได้เรียนรู้คำสั่งเชลล์สะท้อนในบทนี้เราเรียนรู้เอาท์พุทเชลล์คำสั่ง printf อื่น

คำสั่ง printf เลียนแบบ C ห้องสมุด (ห้องสมุด) ใน printf () ที่ขั้นตอน

ความคมชัดมาตรฐานเพื่อให้การใช้งานสคริปต์ printf ดีกว่าการใช้พกพาก้อง

printf ใช้ข้อความอ้างอิงหรือพารามิเตอร์คั่นด้วยช่องว่างสามารถนำมาใช้นอกสตริงรูปแบบ printf คุณยังสามารถพัฒนาความกว้างของสตริงและเพื่อให้การจัดตำแหน่งด้านซ้ายและขวา เริ่มต้น printf ไม่ได้โดยอัตโนมัติเพิ่มเส้นแบ่งเหมือนก้องเราสามารถเพิ่ม \ n ด้วยตนเอง

printf ไวยากรณ์คำสั่ง:

printf  format-string  [arguments...]

พารามิเตอร์คำอธิบาย:

  • รูปแบบสตริง: สตริงควบคุมรูปแบบ
  • ข้อโต้แย้ง: รายชื่อของพารามิเตอร์

ตัวอย่างมีดังนี้

$ echo "Hello, Shell"
Hello, Shell
$ printf "Hello, Shell\n"
Hello, Shell
$

ต่อไปผมจะใช้สคริปต์เพื่อสะท้อนให้เห็นถึง printf มีประสิทธิภาพ:

#!/bin/bash
# author:本教程
# url:www.w3big.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% C% d รูปแบบ f% เป็นตัวยึด

% -10s อ้างถึงความกว้างของ 10 ตัวอักษร A (- ซ้ายชิดขวาชิดกล่าวว่าไม่มี) ตัวอักษรใดจะแสดงใน 10 ตัวอักษรตัวอักษรกว้างหากพื้นที่ไม่เพียงพอที่จะเต็มไปโดยอัตโนมัติก็จะมีมากขึ้นกว่าเนื้อหา แสดงทั้งหมดของพวกเขา

-4.2f% หมายถึงรูปแบบทศนิยมซึ่งหมายความ 0.2 ตำแหน่งทศนิยม 2

ตัวอย่างเพิ่มเติมได้ที่:

#!/bin/bash
# author:本教程
# url:www.w3big.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

ลำดับหนี printf ของ

ลำดับ คำอธิบาย
\ a เตือนตัวอักษรปกติอักขระ ASCII BEL
\ B ล่าถอย
\ C ยับยั้ง (ไม่แสดง) เอาท์พุทในตัวละครขึ้นบรรทัดใหม่ใด ๆ ต่อท้าย (ใช้ได้เฉพาะในสตริงพารามิเตอร์ภายใต้ B บ่งชี้% รูปแบบการควบคุม) และในตัวอักษรใด ๆ เหลืออยู่ในพารามิเตอร์และพารามิเตอร์ใด ๆ และใด ๆ ตามมาในการเข้าพัก ตัวอักษรสตริงรูปแบบจะถูกละเลย
\ F FF (formfeed)
\ n ห่อ
\ r Enter (กลับรถ)
\ 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.w3big.com \a"
www.w3big.com $                  #不换行