The "printf"Perintah dalam skrip bash berfungsi dengan cara yang sama"printf ()Berfungsi dalam bahasa C. Catatan ini akan memberi tumpuan kepada "printf"Perintah, sintaksnya, dan contoh yang menghuraikan lebih lanjut penggunaan perintah ini. Mari kita periksa sintaks “printfPerintah:
printf : Adalah pilihan untuk menetapkan output ke pemboleh ubah.
Cara menggunakan perintah printf dalam skrip bash menggunakan editor Vim:
Kami menggunakan editor Vim untuk panduan ini kerana fungsi dan kemudahan penggunaannya yang kaya. Dapatkan Vim pada peranti anda menggunakan:
$ sudo apt pasang vimLancarkan editor vim:
$ vimMari tulis program sederhana untuk mencetak rentetan menggunakan "printf":
#! / bin / bashprintf "Hello Linuxhint"
Untuk menyimpan fail, tekan “EscButang untuk menukar mod dan kemudian taip ": W contoh.sh "dan kemudian"Enter ”. Sekarang buka tetingkap terminal baru dan ketik:
contoh $ bash.shPerintah di atas akan melaksanakan skrip yang mencetak teks "hello linuxhint" seperti yang ditunjukkan di bawah:
Sekarang, mari sertakan beberapa penentu format:
#! / bin / bashprintf “% s \ n” “Hello Linuxhint”
Dalam contoh di atas, "% s" memberitahu bahawa argumen yang sesuai harus dianggap sebagai string dan "\ n" untuk baris baru. Begitu juga, jika kita menggunakan "% d", maka argumen akan dianggap sebagai bilangan bulat:
#! / bin / bashprintf "% s \ n" "Hello Linuxhint" "Pelajari tentang" "Linux"
Ketiga argumen akan dianggap sebagai rentetan dan dicetak dalam baris baru seperti yang ditunjukkan dalam output berikut:
Contoh lain disebutkan di bawah lebih jauh untuk memahami penggunaan perintah "printf":
#! / bin / bashgema "Masukkan nama anda"
baca nama
gema "Masukkan umur anda"
zaman membaca
printf "Nama anda:% s \ n Umur anda:% s \ n" "$ name" "$ age"
"Nama anda:% s \ n Umur anda:% s \ n" berformat sementara "$ name" "Umur $" adalah hujah. Manakala "% s" menunjukkan hujah.
Cara menggunakan penentu penukaran dengan perintah printf:
Penentu penukaran adalah aksara yang digunakan dengan tanda “%” untuk menunjukkan bagaimana memperlakukan argumen. Mari kita periksa senarai beberapa penentu yang biasa digunakan:
Penentu | Dperihal |
---|---|
%% | Mencetak simbol "%" |
% c | Mengambil hujah sebagai watak tunggal |
% e dan% E | Ikuti hujah dalam nombor titik terapung dan cetak dalam notasi eksponensial, % e untuk huruf kecil dan % E untuk huruf besar |
% g dan% G | Ikuti hujah dalam nombor titik terapung dan cetak dalam notasi normal atau eksponensial |
% f | Mengambil hujah sebagai nombor terapung |
% d | Mengambil argumen sebagai bilangan bulat yang ditandatangani |
% u | Mengambil argumen sebagai bilangan bulat yang tidak ditandatangani |
% o | Mengambil hujah sebagai nombor oktal yang tidak ditandatangani |
% x dan% X | Mengambil argumen sebagai bilangan bulat heksadesimal yang tidak ditandatangani |
Mari kita jelaskan penentu di atas dengan contoh dalam bash:
#! / bin / bashgema "Masukkan nombor untuk menukar"
nombor baca
printf "Perpuluhan:% d \ nOctal:% o \ nHex:% X \ n" "$ number" "$ number" "$ number"
Cara menggunakan arahan Bendera, Lebar, dan Ketepatan dengan arahan printf:
Arahan bendera disertakan dengan penggunaan pilihan dengan perintah "printf". Arahan bendera yang biasa digunakan adalah
- "-" Kiri membenarkan output
- "+" Menambah tanda "+" dengan bilangan bulat
- "0" Menambah "0" dengan angka dan bukan spasi
Arahan lebar menambah ruang dengan output yang biasanya digunakan selepas bendera. Mari fahami dengan contoh:
#! / bin / bashgema "Masukkan nama anda"
baca nama
gema "Masukkan umur anda"
zaman membaca
printf "Nama dan umur anda adalah:% 5s% 5d \ n" "$ name" "umur"
"% 30s" bermaksud ruang panjang 30 karakter, dan untuk menyelaraskan bentuk output yang tersisa, gunakan tanda "-" "% -30s".
Arahan ketepatan terdiri daripada titik "."Diikuti dengan bilangan bulat positif:
#! / bin / bashprintf “%.2f ”2.56473
Hasilnya adalah:
Sekiranya nombor itu adalah bilangan bulat, arahan ketepatan akan menambahkan "0" sebelum nombor. Sekiranya nombor itu adalah jenis titik terapung, maka arahan ketepatan akan menentukan bilangan digit positif selepas titik perpuluhan. Untuk tali, ia menentukan jumlah watak yang akan ditampilkan:
#! / bin / bashprintf “%.2f \ n "2.468936
printf “%.3d \ n ”10
printf “%.3s \ n "" samlinux "
Parameter pelarian terbalik:
Parameter pelarian backslash, juga disebut urutan melarikan diri, digunakan dengan garis miring terbalik untuk memformat string dengan perintah "printf". Urutan ini tidak mewakili diri mereka sendiri tetapi ditafsirkan dalam beberapa watak lain. Beberapa urutan melarikan diri yang biasa digunakan adalah:
Perwatakan | Penerangan |
---|---|
\\ | Mencetak watak garis miring terbalik |
\ b | Mencetak watak ruang belakang |
\ n | Mencetak output dalam barisan baru |
\ r | Mencetak kembalinya kereta (kursor di awal baris) |
\ t | Memberi ruang tab dari kanan |
\ v | Memberi ruang tab |
Kesimpulan:
Ketika mencetak sesuatu dalam skrip bash, perintah "echo" paling sering digunakan karena mudah digunakan dan diingat. Tetapi perintah "echo" mempunyai batasannya. Oleh itu, untuk memformat output dengan betul, "Printf" arahan boleh digunakan. The "Printf" perintah dilengkapi dengan banyak pilihan untuk memformat output rentetan dan bahkan penukaran dan pemformatan nombor asas. Panduan ini memahami fungsi perintah "printf" secara menyeluruh dalam skrip bash dengan contoh.