"printf” perintah dalam skrip bash bekerja dengan cara yang sama “cetakf()” bekerja dalam bahasa C. Posting ini akan fokus pada “printf” perintah, sintaksnya, dan contoh yang menjelaskan lebih lanjut penggunaan perintah ini. Mari kita periksa sintaks dari “printf” perintah:
printf : Adalah opsional untuk menetapkan output ke variabel.
Cara menggunakan perintah printf dalam skrip bash menggunakan editor Vim:
Kami menggunakan editor Vim untuk panduan ini karena fungsionalitasnya yang kaya dan kemudahan penggunaan. Dapatkan Vim di perangkat Anda menggunakan:
$ sudo apt install vimLuncurkan editor vim:
$ vimMari kita menulis program sederhana untuk mencetak string menggunakan "printf":
#! /bin/bashprintf "Halo Linuxhint"
Untuk menyimpan file, tekan tombol “ESC” untuk mengganti mode dan kemudian ketik “: contoh.sh" dan kemudian "Enter”. Sekarang buka jendela terminal baru dan ketik:
contoh $bash.SHPerintah di atas akan mengeksekusi script print out teks “hello linuxhint” seperti gambar di bawah ini:
Sekarang, mari sertakan beberapa penentu format:
#! /bin/bashprintf “%s\n” “Halo Linuxhint”
Dalam contoh di atas, "%s" memberi tahu bahwa argumen yang sesuai harus diperlakukan sebagai string dan "\n" untuk baris baru. Demikian pula, jika kita menggunakan “%d”, maka argumen akan diperlakukan sebagai bilangan bulat:
#! /bin/bashprintf “%s\n” “Halo Linuxhint” “Pelajari tentang” “Linux”
Ketiga argumen akan diperlakukan sebagai string dan dicetak dalam baris baru seperti yang ditunjukkan pada output berikut:
Contoh lain disebutkan lebih lanjut di bawah ini untuk memahami penggunaan perintah "printf":
#! /bin/bashecho “Masukkan Nama Anda”
baca nama
echo “Masukkan usia Anda”
usia baca
printf “Nama Anda : %s\nUsia Anda : %s\n” “$name” “$age”
“Nama Anda : %s\n Usia Anda : %s\n ” diformat sedangkan “$name” "$age" adalah argumennya. Sedangkan "%s" menunjukkan argumen.
Cara menggunakan penentu konversi dengan perintah printf:
Penentu konversi adalah karakter yang digunakan dengan tanda “%” untuk menunjukkan cara menangani argumen. Mari kita periksa daftar beberapa specifier yang umum digunakan:
penentu | Ddeskripsi |
---|---|
%% | Mencetak simbol “%” |
%c | Mengambil argumen sebagai satu karakter |
%e dan %E | Ambil argumen dalam bilangan floating-point dan cetak dalam notasi eksponensial, %e untuk huruf kecil dan %E untuk huruf kapital |
%g dan %G | Ambil argumen dalam bilangan floating-point dan cetak dalam notasi normal atau eksponensial |
%f | Mengambil argumen sebagai angka mengambang |
%d | Mengambil argumen sebagai bilangan bulat bertanda |
%u | Mengambil argumen sebagai bilangan bulat yang tidak ditandatangani |
%Hai | Mengambil argumen sebagai bilangan oktal yang tidak ditandatangani |
%x dan %X | Mengambil argumen sebagai bilangan bulat heksadesimal yang tidak ditandatangani |
Mari kita uraikan lebih lanjut penentu di atas dengan contoh di bash:
#! /bin/bashecho “Masukkan angka yang akan dikonversi”
baca nomor
printf “Desimal : %d\nOktal : %o\nHex : %X\n” “$number” “$number” “$number”
Cara menggunakan arahan Flag, Width, dan Precision dengan perintah printf:
Arahan bendera datang dengan penggunaan opsional dengan perintah "printf". Arahan bendera yang umum digunakan adalah
- "-" Kiri membenarkan output
- “+” Menambahkan tanda “+” dengan bilangan bulat
- "0" Menambahkan "0" dengan angka, bukan spasi
Arahan lebar menambah ruang dengan output yang biasanya digunakan setelah bendera. Mari kita pahami dengan sebuah contoh:
#! /bin/bashecho “Masukkan Nama Anda”
baca nama
echo “Masukkan usia Anda”
usia baca
printf “Nama dan umur anda adalah: %5s %5d\n” “$name” “umur”
“%30s” berarti spasi sepanjang 30 karakter, dan untuk menyelaraskan bentuk output ke kiri, gunakan tanda “-” “%-30s”.
Direktif presisi terdiri dari titik “.” Diikuti oleh bilangan bulat positif:
#! /bin/bashprintf “%.2f” 2.56473
Outputnya akan menjadi:
Jika angkanya bilangan bulat, direktif presisi akan menambahkan "0" sebelum angkanya. Jika nomor tersebut adalah tipe floating-point, maka direktif presisi akan menentukan jumlah digit positif setelah titik desimal decimal. Untuk string, ini menentukan jumlah karakter yang akan ditampilkan:
#! /bin/bashprintf “%.2f\n” 2.468936
printf “%.3d\n” 10
printf “%.3s\n” “samlinux”
Parameter Backslash Escape:
Parameter escape backslash, juga disebut escape sequence, digunakan dengan garis miring terbalik untuk memformat string dengan perintah “printf”. Urutan ini tidak mewakili diri mereka sendiri tetapi menafsirkan dalam beberapa karakter lain. Beberapa escape sequence yang umum digunakan adalah:
Karakter | Deskripsi |
---|---|
\\ | Mencetak karakter garis miring terbalik |
\b | Mencetak karakter spasi mundur |
\n | Mencetak output di baris baru |
\r | Mencetak carriage return (kursor di awal baris) |
\t | Memberi ruang tab dari kanan |
\v | Memberi ruang tab |
Kesimpulan:
Ketika datang untuk mencetak sesuatu dalam skrip bash, perintah "echo" paling sering digunakan karena mudah digunakan dan diingat. Tetapi perintah "echo" memiliki batasannya. Oleh karena itu, untuk memformat output dengan benar, “cetak” perintah dapat digunakan. Itu “cetak” perintah hadir dengan banyak opsi untuk memformat output string dan bahkan konversi dan pemformatan angka dasar. Panduan ini benar-benar memahami fungsionalitas perintah "printf" dalam skrip bash dengan contoh-contoh.