6. Simple I/O
I/O merupakan hal yang mendasar dari kerja komputer karena kapasitas inilah yang membuat komputer begitu berdayaguna. I/O yang dimaksud adalah device yang menangani masukan dan keluaran, baik itu berupa keyboard, floppy, layar monitor,dsb. sebenarnya kita telah menggunakan proses I/O ini pada contoh -contoh diatas seperti statement echo yang menampilkan teks atau informasi ke layar, atau operasi redirect ke ke file. selain echo, bash menyediakan perintah builtin printf untuk mengalihkan keluaran ke output standard, baik ke layar ataupun ke file dengan format tertentu, mirip statement printf kepunyaan bahasa C atau perl. berikut contohnya:
#!/bin/bash
#pr1
url="pemula.linux.or.id";
angka=32;
printf "Hi, Pake printf ala C\n\t\a di bash\n";
printf "My url %s\n %d decimal = %o octal\n" $url $angka $angka;
printf "%d decimal dalam float = %.2f\n" $angka $angka
Hasilnya:
[fajar@linux$]./pr1
Hi, Pake printf ala C
di bash
My url pemula.linux.or.id
32 decimal = 40 octal
32 decimal dalam float = 32.00
untuk menggunakan format kontrol sertakan simbol %, bash akan mensubtitusikan format tsb dengan isi variabel yang berada di posisi kanan sesuai dengan urutannya jika lebih dari satu variabel, \n \t \a adalah karakter sekuen lepas newline,tab, dan bell,
Format control | keterangan |
%d | untuk format data integer |
%o | octal |
%f | float atau decimal |
%x | Hexadecimal |
pada script diatas %.2f akan mencetak 2 angka dibelakang koma, defaultnya 6 angka, informasi lebih lanjut dapat dilihat via man printf
Setelah echo dan printf untuk proses output telah anda ketahui, sekarang kita menggunakan statement read yang cukup ampuh untuk membaca atau menerima masukan dari input standar
syntax :
read -opsi [nama_variabel...]
berikut contoh scriptnya:
#!/bin/bash
#rd1
echo -n "Nama anda :"
read nama;
echo "Hi $nama, apa khabarmu";
echo "Pesan dan kesan :";
read
echo "kata $nama, $REPLY";
Hasilnya:
[fajar@linux$]./rd1
Nama anda : pinguin
Hi pinguin, apa khabarmu
Pesan & kesan :
pake linux pasti asyk - asyk aja
kata pinguin, pake linux pasti asyk - asyk aja
jika nama_variabel tidak disertakan, maka data yang diinput akan disimpan di variabel REPLY contoh lain read menggunakan opsi
-t(TIMEOUT), -p(PROMPT), -s(SILENT), -n(NCHAR) dan -d(DELIM)
-t(TIMEOUT), -p(PROMPT), -s(SILENT), -n(NCHAR) dan -d(DELIM)
#!/bin/bash
read -p "User Name : " user
echo -e "Password 10 karakter,\njika dalam 6 second tidak dimasukkan pengisian password diakhiri"
read -s -n 10 -t 6 pass
echo "kesan anda selama pake linux, _underscore=>selesai"
read -d _ kesan
echo "User = $user"
echo "Password = $pass"
echo "Kesan selama pake linux = $kesan"
Hasilnya: silahkan dicoba sendiri :-)
Opsi | Keterangan |
-p | memungkinkan kita membuat prompt sebagai informasi pengisian |
-s | membuat input yang dimasukkan tidak di echo ke layar (seperti layaknya password di linux) |
-n | menentukan banyak karakter yang diinput |
-d | menentukan karakter pembatas masukan |
informasi secara lengkap lihat man bash
6.3.1. Pengaturan Warna
Untuk pewarnaan tampilan dilayar anda dapat menggunakan konstanta ANSI (salah satu badan nasional amerika yang mengurus standarisasi).
syntaxnya:
\033[warnam
Dimana:
m menandakan setting color
m menandakan setting color
contohnya:
[fajar@linux$]echo -e "\033[31m HELLO\033[0m"
HELLO
konstanta 31m adalah warna merah dan 0m untuk mengembalikan ke warna normal (none), tentunya konstanta warna ansi ini dapat dimasukkan ke variabel PS1 untuk mengatur tampilan prompt shell anda, contohnya:
[fajar@linux$]PS1="\033[34m"
[fajar@linux$]
berikut daftar warna yang dapat anda gunakan:
foreground
None 0m
Black 0;30 Dark Gray 1;30
Red 0;31 Light Red 1;31
Green 0;32 Light Green 1;32
Brown 0;33 Yellow 1;33
Blue 0;34 Light Blue 1;34
Purple 0;35 Light Purple 1;35
Cyan 0;36 Light Cyan 1;36
Light Gray 0;37 White 1;37
background
dimulai dengan 40 untuk BLACK,41 RED,dst
lain-lain
4 underscore,5 blink, 7 inverse
tentunya untuk mendapatkan tampilan yang menarik anda dapat menggabungkannya antara foreground dan background
[fajar@linux$]echo -e "\033[31;1;33m Bash and ansi color\033[0m"
Bash and ansi color |
sedangkan untuk penempatan posisi kursor, dapat digunakan salah satu cara dibawah.
� Menentukan posisi baris dan kolom kursor:
� \033[baris;kolomH
� Pindahkan kursor keatas N baris:
� \033[NA
� Pindahkan kursor kebawah N baris:
� \033[NB
� Pindahkan kursor kedepan N kolom:
� \033[NC
� Pindahkan kursor kebelakang N kolom:
� \033[ND
Contohnya:
#!/bin/bash
SETMYCOLOR="\033[42;1;37m"
GOTOYX="\033[6;35H"
clear
echo -e "\033[3;20H INI DIBARIS 3, KOLOM 20"
echo -e "\033[44;1;33;5m\033[5;35H HELLO\033[0m";
echo -e "$SETMYCOLOR$GOTOYX ANDA LIHAT INI\033[0m"
Hasilnya: Silahkan dicoba sendiri
kita dapat pula mengatur penempatan posisi kursor di layar dengan memanfaatkan utility tput,
syntaxnya:
tput cup baris kolom
contohnya:
#!/bin/bash
clear
tput cup 5 10
echo "HELLO"
tput cup 6 10
echo "PAKE TPUT"
jika dijalankan anda akan mendapatkan string HELLO di koordinat baris 5 kolom 10, dan string PAKE TPUT dibaris 6 kolom 10. informasi selengkapnya tentang tput gunakan man tput, atau info tput
7. Seleksi dan Perulangan
Bagian ini merupakan ciri yang paling khas dari suatu bahasa pemrograman dimana kita dapat mengeksekusi suatu pernyataan dengan kondisi terntentu dan mengulang beberapa pernyataan dengan kode script yang cukup singkat.
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :