Latest web development tutorials

الأمر Shell printf

الفصل الأخير تعلمنا شل صدى الأوامر، في هذا الفصل نتعلم انتاج شل printf أمر آخر.

قيادة printf تقليد C مكتبة (مكتبة) في الإجراء printf ().

تعريف موحد، لذلك السيناريو استخدام printf أفضل من استخدام قابلية صدى.

printf باستخدام النص إشارة أو معلمات مفصولة بمسافات، ويمكن استخدامها خارج سلسلة تنسيق printf، يمكنك أيضا وضع عرض السلسلة، وهلم جرا محاذاة اليسار واليمين. افتراضي printf لا تضاف تلقائيا خط فاصل مثل الصدى، ويمكننا أن نضيف \ ن يدويا.

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٪ ج٪ د شكل٪ و هم النائبة

٪ -10s الرجوع إلى عرض من 10 حرفا (- اليسار الانحياز، والحق الانحياز، قال للا)، يتم عرض أية أحرف في 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
\ B تراجع
\ C تثبيط (لا يظهر) الناتج في أي أحرف السطر زائدة (صالحة فقط في سلسلة المعلمة تحت٪ ب مؤشر شكل رقابة)، و، في أي الأحرف المتبقية في المعلمات، وأية معلمات وأي وقف لاحقة في يتم تجاهل شخصيات شكل سلسلة
\ F FF (formfeed)
\ N التفاف
\ R أدخل (إرجاع)
\ T علامة التبويب الأفقي
\ V علامة التبويب العمودي
\\ حرف مائل الحرفي
\ ضدد تمثيل الحروف 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 $                  #不换行