الأمر 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 $ #不换行