5 Script Shell untuk Pemula Linux Untuk Mempelajari Pemrograman Shell - Bagian II
- 2090
- 647
- Enrique Purdy
Untuk mempelajari sesuatu yang Anda butuhkan untuk melakukannya, tanpa takut tidak berhasil. Saya percaya pada kepraktisan dan karenanya akan menemani Anda ke dunia praktis bahasa skrip.
Pelajari Scripting Shell DasarArtikel ini adalah perpanjangan dari artikel pertama kami memahami shell linux dan skrip shell dasar - Bagian I, di mana kami memberi Anda rasa skrip, melanjutkan bahwa kami tidak akan mengecewakan Anda dalam artikel ini.
Skrip 1: Menggambar pola khusus
#!/bin/bash max_no = 0 echo -n "Masukkan nomor antara (5 hingga 9):" Baca max_no jika ! [$ Max_no -ge 5 -a $ max_no -le 9]; Lalu echo "wtf… saya meminta untuk memasukkan angka antara 5 dan 9, coba lagi" Keluar 1 fi jelas untuk ((i = 1; i = i; s--)) lakukan echo -n "" dilakukan untuk ((j = 1; j<=i; j++ )) do echo -n " ." done echo "" done ###### Second stage ###################### for (( i=MAX_NO; i>= 1; i--)) lakukan untuk ((s = i; s<=MAX_NO; s++ )) do echo -n " " done for (( j=1; j<=i; j++ )) do echo -n " ." done echo "" done echo -e "\n\n\t\t\t Whenever you need help, Tecmint.com is always there"
Sebagian besar di atas 'kata kunci'Akan diketahui oleh Anda dan kebanyakan dari mereka adalah penjelasan diri. e.G., Max Menetapkan nilai maksimum variabel, karena adalah loop dan apa pun dalam loop yang dieksekusi lagi dan lagi sampai loop valid untuk nilai input yang diberikan.
Output sampel
[[Email Dilindungi] ~]# Chmod 755 Special_Pattern.sh [[email dilindungi] ~]# ./Special_pattern.SH masukkan nomor antara (5 hingga 9): 6… setiap kali Anda membutuhkan bantuan, tecmint.com selalu ada
Jika Anda sedikit sadar akan bahasa pemrograman apa pun, mempelajari skrip di atas tidak sulit, bahkan jika Anda baru dalam perhitungan, pemrograman, dan linux, itu tidak akan terlalu sulit.
Unduh Special_Pattern.SH
Skrip 2: Membuat skrip berwarna -warni
Siapa bilang, Linux tidak berwarna Dan membosankan, simpan kode di bawah ini untuk apa pun [dot] SH, Jadikan itu dapat dieksekusi dan jalankan, jangan lupa untuk memberi tahu saya bagaimana itu, pikirkan apa yang bisa Anda capai, mengimplementasikannya di suatu tempat.
#!/bin/bash clear echo -e "33 [1m hello world" # bold Effect echo -e "33 [5m blink" # blink Effect echo -e "33 [0m Hello World" # Back to normal echo -e "33 [ 31m Hello World " # Red Color Echo -e" 33 [32m Hello World " # Green Color Echo -e" 33 [33M Hello World " # Lihat Sisa di Layar Echo -e" 33 [34M Hello World "Echo -e" 33 [35M Hello World "Echo -e" 33 [36m Hello World "Echo -e -n" 33 [0m " # Kembali ke Echo normal -e" 33 [41m Hello World "Echo -e" 33 [42m Hello World "Echo -e "33 [43M Hello World" echo -e "33 [44m Hello world" echo -e "33 [45m hello world" echo -e "33 [46m hello world" echo -e "33 [0m hello world"
Catatan: Jangan repot -repot tentang kode warna sekarang, yang penting bagi Anda akan berada di lidah Anda, secara bertahap.
Peringatan: Terminal Anda mungkin tidak memiliki fasilitas berkedip.
Output sampel
[[email dilindungi] ~]# chmod 755 warna -warni.sh [[email dilindungi] ~]# ./Warna -warni.SH Hello World Blink Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello Hello World Hello World
Unduh warna -warni.SH
Skrip 3: Mengenkripsi file/direktori
Skrip ini akan mengenkripsi a mengajukan (Ingat? direktori/pengemudi/… . Semuanya diperlakukan sebagai file, dalam Linux). Keterbatasan saat ini dari skrip di atas adalah bahwa ia tidak mendukung penyelesaian otomatis nama menggunakan Tab. Selain itu, Anda perlu menempatkan skrip dan file untuk dienkripsi di folder yang sama. Anda mungkin perlu menginstal "pinentry-gui", menggunakan yum atau tepat paket, jika diperlukan.
[[Email Dilindungi] ~]# yum instal pinentry-gui [[email dilindungi] ~]# apt-get instal pinentry-gui
Kreta file yang disebut “Mengenkripsi.SH”Dan tempatkan skrip berikut, membuatnya dapat dieksekusi dan menjalankannya seperti yang ditunjukkan.
#!/bin/bash echo "Selamat datang, saya siap untuk mengenkripsi file/folder untuk Anda" Echo "saat ini saya memiliki batasan, tempatkan saya ke folder yang sama, di mana file yang akan dienkripsi hadir" echo "masukkan file yang tepat Nama dengan ekstensi "Baca file; gpg -c $ file echo "Saya telah mengenkripsi file dengan sukses ..." echo "sekarang saya akan menghapus file asli" rm -rf $ file
Output sampel
[[Email Dilindungi] ~]# CHMOD 755 Encrypt.sh [[email dilindungi] ~]# ./Mengenkripsi.sambut, saya siap mengenkripsi file/folder untuk Anda saat ini saya memiliki batasan, tempatkan saya ke folder yang sama, di mana file yang akan dienkripsi hadir masukkan nama file yang tepat dengan paket ekstensi.xml ┌─────IL accpkan ilangan ilangan ilangan ilangankan MisILESATAN "" ""onggol uranding" ─ "4 ─ 4 Chilanook 4X 4 Chollans 4 Choll 4 Chosansansans 4 Chsans 4 Chs 4ook 4 Chs 4X Chol." "─ 4 ilangan ilangan olakkan ─ ─ ─ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └ └ └ └ arm olak uas tolasan ‘│ │ │ │ │. ────── tekstariran──── tekstariran Miss band racam "" bingonggol padaman─ ilangan ilangan ─> ilangan ilangan ilangan harga> ilangan ilangan harga kembali ┘ ilangan. ─ Dengan ─ "" "" "" 4irim "" 4irimirim "tolasanasan tolasanasanaskan tolasanasanaskanaskanaskan tolasanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanaskanitar AX. Passphrase ini │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ─ Dengan ─ "" "" "4 Chollans 4 Choll 4 ChosasanmILirim Miss──ampilan" tolasanasanaskan tolasan peran ilangan ─┘ Saya telah mengenkripsi file tersebut ... Sekarang saya akan menghapus file aslinya
GPG -C : Ini akan mengenkripsi file Anda, menggunakan passkey alias kata sandi. Dalam proses pembelajaran ini, Anda tidak akan pernah berpikir bahwa proses pembelajaran yang sebenarnya bisa begitu mudah. Jadi setelah mengenkripsi file apa yang Anda butuhkan? Jelas sekali! mendekripsi file. Dan saya ingin Anda - pelajar, pembaca sendiri menulis skrip dekripsi, jangan khawatir saya tidak akan meninggalkan Anda di tengah, saya hanya ingin Anda mendapatkan sesuatu dari artikel ini.
Catatan: GPG -D nama file.GPG > nama file adalah apa yang perlu Anda terapkan dalam skrip dekripsi Anda. Anda dapat memposting skrip Anda dalam komentar jika berhasil, jika tidak Anda dapat meminta saya untuk menulisnya untuk Anda.
Unduh Enkripsi.SH
Skrip 4: Memeriksa pemanfaatan server
Memeriksa pemanfaatan server adalah salah satu tugas penting dari seorang administrator, dan administrator yang baik adalah orang yang tahu cara mengotomatiskan tugas sehari -hari. Di bawah ini adalah skrip yang akan memberikan banyak informasi seperti itu tentang server Anda. Periksa sendiri.
#!/Tanggal Bin/Bash; echo "uptime:" uptime echo "saat ini terhubung:" w echo "--------------------" echo "login terakhir:" terakhir -a | head -3 echo "--------------------" Echo "Disk dan Penggunaan Memori:" DF -H | xargs | AWK 'print "Free / Total Disk:" $ 11 " /" $ 9' GRATIS -M | xargs | awk 'print "memori gratis / total:" $ 17 " /" $ 8 "mb"' echo "--------------------" start_log = "head -1 /var/log/pesan | potong -c 1-12 "oom =" grep -ci kill/var/log/pesan "echo -n" kesalahan oom sejak $ start_log: "$ oom echo" "echo" ---- ---------------- Pemanfaatan "Echo" dan Proses Paling Mahal: "Top -B | Kepala -3 Echo Top -B | Head -10 | Tail -4 Echo" --- ----------------- "Echo" Buka port TCP: "nmap -p- -t4 127.0.0.1 echo "--------------------" echo "koneksi saat ini:" ss -s echo "--------------- ----- Proses "Echo": "PS AUXF --Slh = 200 Echo" -------------------- "Echo" VMStat: "VMStat 1 5
Output sampel
[[Email Dilindungi] ~]# Chmod 755 Server-Health.sh [[email dilindungi] ~]# ./Kesehatan server.SH TUE 16 Jul 22:01:06 IST 2013 Uptime: 22:01:06 hingga 174 hari, 4:42, 1 Pengguna, Load Average: 0.36, 0.25, 0.18 saat ini terhubung: 22:01:06 hingga 174 hari, 4:42, 1 pengguna, memuat rata -rata: 0.36, 0.25, 0.18 Pengguna Tty dari [Email Dilindungi] IDLE JCPU PCPU Apa Tecmint PTS/0 116.72.134.162 21:48 0.00S 0.03S 0.03S SSHD: Tecmint [priv] -------------------- Login Terakhir: Tecmint PTS/0 Sel 16 Jul 21:48 Masih login di 116.72.134.162 Tecmint PTS/0 Sel 16 Jul 21:24 - 21:43 (00:19) 116.72.134.162 -------------------- Penggunaan Disk dan Memori: Gratis / Total Disk: 292g / 457g Gratis / Total Memori: 3510 /3838 MB ------- ------------- Kesalahan OOM Sejak 14 Jul 03:37: 0 -------------------- Pemanfaatan dan Proses Paling Mahal: Top - 22:01:07 hingga 174 hari, 4:42, 1 Pengguna, Load Average: 0.36, 0.25, 0.18 Tugas: 149 Total, 1 Berlari, 148 Tidur, 0 Berhenti, 0 Zombie CPU (S): 0.1%AS, 0.0%sy, 0.0%Ni, 99.ID 3%, 0.6%wa, 0.0%Hai, 0.0%Si, 0.0 %ST PID PENGGUNA PR NI VIR VIRT SHR S %CPU %MEM Waktu+ Perintah 1 Root 20 0 3788 1128 932 S 0.0 0.0 0:32.94 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root rt 0 0 0 0 s 0.0 0.0 0:14.07 Migrasi/0
Catatan: Saya telah memberi Anda skrip yang memberikan output di terminal itu sendiri, bagaimana kalau mendapatkan output dalam file untuk referensi di masa mendatang. Menerapkannya menggunakan operator pengalihan.
- '>': operator pengalihan menyebabkan pembuatan file, dan jika memang ada, isinya ditimpa.
- '>>': Saat Anda menggunakan >>, Anda menambahkan informasi, daripada menggantinya.
- '>>'aman, dibandingkan dengan'>'
Unduh Kesehatan Server.SH
Skrip 5: Periksa ruang disk dan mengirimkan peringatan email
Bagaimana kalau mendapatkan email saat digunakan disk di partisi BAGIAN lebih besar dari yang diizinkan maksimal, ini adalah skrip penyelamat hidup untuk administrator web dengan sedikit modifikasi.
Max = 95 [email dilindungi] Bagian = sda1 use = "df -h | grep $ part | awk" cetak $ 5 '| cut -d '%' -f1 'jika [$ use -gt $ max]; Kemudian echo "persen digunakan: $ use" | Mail -S "kehabisan ruang disk" $ email fi
Catatan: Menghapus "PENGGUNA”Dengan nama pengguna Anda. Anda dapat memeriksa surat menggunakan menggunakan 'surat' memerintah.
Unduh ruang periksa-disk.SH
Penulisan dan pemrograman skrip adalah di luar batas, apa saja dan segala sesuatu dapat diimplementasikan sesuai kebutuhan. Itu saja untuk saat ini, di artikel saya berikutnya, saya akan memberikan beberapa rasa skrip yang berbeda. Sampai saat itu tetap dingin dan disetel, nikmati.