Berlayar melalui dunia skrip Linux Bash - Bagian III

Berlayar melalui dunia skrip Linux Bash - Bagian III

Artikel berikut sebelumnya 'Scripting shell'Serial sangat dihargai dan karenanya saya menulis artikel ini untuk memperluas proses pembelajaran yang tidak pernah berakhir.

Scripting Basic Shell Bagian-3
  1. Pahami tips bahasa skrip shell linux dasar - Bagian i
  2. 5 Script Shell untuk Pemula Linux Untuk Mempelajari Pemrograman Shell - Bagian II
Kata kunci bash

A kata kunci adalah kata atau simbol yang memiliki makna khusus untuk bahasa komputer. Simbol dan kata -kata berikut memiliki makna khusus Pesta ketika mereka tidak dikutip dan kata pertama dari sebuah perintah.

! ESAC SELECT case fi lalu [[lakukan untuk sampai]] function selesai sementara elif jika waktu lain di 

Tidak seperti kebanyakan bahasa komputer, Pesta memungkinkan kata kunci digunakan sebagai nama variabel meskipun ini dapat membuat skrip sulit dibaca. Agar skrip dapat dimengerti, kata-kata kunci tidak boleh digunakan untuk nama variabel.

Perintah diimplementasikan dalam shell sebagai $(memerintah). Anda mungkin harus memasukkan jalur perintah lengkap. e.G., $ (/bin/tanggal), untuk eksekusi yang benar.

Anda mungkin tahu jalur program tertentu menggunakan 'dimana' memerintah. e.G., dimana tanggal

[[Email Dilindungi]/]# Tanggal dimana tanggal:/bin/tanggal/usr/share/man/man1/date.1.GZ

Itu sudah cukup untuk saat ini. Kami tidak akan banyak bicara tentang teori ini sekarang. Datang ke skrip.

Pindahkan direktori kerja saat ini

Beralih dari direktori kerja saat ini ke level apa pun dengan hanya memberikan nilai numerik di akhir skrip saat mengeksekusi.

#! /level bin/bash = $ 1 untuk ((i = 1; i <= LEVEL; i++)) do CDIR=… /$CDIR done cd $CDIR echo "You are in: "$PWD exec /bin/bash

Simpan kode di atas sebagai “ke atas.SH“, Di desktop Anda. Membuatnya dapat dieksekusi (Chmod 755 UP.SH). Berlari:

./ke atas.SH 2 (Akan memindahkan direktori kerja saat ini ke dua level ke atas).
./ke atas.SH 4 (Akan memindahkan direktori kerja saat ini ke empat level ke atas).

Penggunaan dan Area Aplikasi

Dalam skrip yang lebih besar yang berisi folder di dalam folder di dalam ... berisi Perpustakaan, binari, ikon, executable, dll di lokasi yang berbeda, Anda sebagai pengembang dapat mengimplementasikan skrip ini untuk pindah ke lokasi yang diinginkan dengan cara yang sangat otomatis.

Catatan: Karena adalah loop dalam skrip di atas dan itu akan terus mengeksekusi sampai nilainya benar untuk loop.

Output sampel
[[email dilindungi] /]# chmod 755 up [[email dilindungi] /]# ./ke atas.SH 2 Anda berada di: / [[email dilindungi] /]# ./ke atas.SH 4 Anda berada di: / [[email dilindungi] /]#

Unduh.SH

Buat file atau folder acak

Buat file acak (folder) tanpa peluang duplikasi.

#! /bin/bash gema "halo $ pengguna"; echo "$ (uptime)" >> "$ (tanggal)".txt echo "File Anda disimpan ke $ (PWD)"

Ini adalah skrip sederhana tetapi berfungsi tidak terlalu sederhana.

  1. 'gema': Mencetak semua yang ditulis dalam kutipan.
  2. '$': Adalah variabel shell.
  3. '>>': Output diarahkan ke output tanggal perintah diikuti oleh txt perpanjangan.

Kami tahu outputnya tanggal perintah adalah tanggal, Dan waktu di dalam jam, menit, Kedua bersama tahun. Oleh karena itu kami bisa mendapatkan output pada nama file yang terorganisir tanpa kemungkinan duplikasi nama file. Ini bisa sangat berguna saat pengguna membutuhkan file yang dibuat dengan cap waktu untuk referensi di masa mendatang.

Output sampel
[[email dilindungi] /]# ./Randomfile.SH Hello Server File Anda disimpan ke/home/server/desktop

Anda dapat melihat file yang dibuat di desktop dengan tanggal hari ini dan waktu saat ini.

[[email dilindungi] /]# nano sat \ jul \ 20 \ 13 \: 51 \: 52 \ IST \ 2013.txt 13:51:52 Naik 3:54, 1 Pengguna, Load Average: 0.09, 0.12, 0.08

Implementasi yang lebih rinci dari skrip di atas diberikan di bawah ini, yang berfungsi berdasarkan prinsip di atas dan sangat berguna dalam mengumpulkan informasi jaringan a Linux server.

Unduh RandomFile.SH

Skrip untuk mengumpulkan informasi jaringan

Mengumpulkan informasi jaringan tentang a Linux server. Script terlalu besar dan tidak mungkin untuk memposting seluruh kode dan output dari skrip di sini. Jadi, lebih baik Anda dapat mengunduh skrip menggunakan tautan unduh di bawah ini dan mengujinya sendiri.

Catatan: Anda mungkin perlu menginstal LSB-Core paket dan paket dan ketergantungan lainnya yang diperlukan. Tepat atau Yum paket yang diperlukan. Jelas Anda harus akar untuk menjalankan skrip karena sebagian besar perintah yang digunakan di sini dikonfigurasi untuk dijalankan sebagai akar.

Output sampel
[[email dilindungi] /]# ./CollectNetWorkInfo.SH Info konfigurasi jaringan yang ditulis jaringan.20-07-13.info.txt. Silakan kirim email ke file ini ke [email dilindungi] _Provider.com. ktop

Anda dapat mengubah alamat email di atas dalam skrip Anda untuk mengirimkannya kepada Anda. File yang dihasilkan secara otomatis dapat dilihat.

Unduh CollectNetWorkInfo.SH

Skrip untuk mengonversi huruf besar menjadi huruf kecil

Skrip yang dikonversi HURUF BESAR ke huruf kecil dan mengarahkan output ke file teks "kecil.txt”Yang dapat dimodifikasi sesuai kebutuhan.

#!/bin/bash echo -n "Masukkan nama file:" Baca nama file if [ ! -f $ fileName]; Kemudian gema "nama file $ nama file tidak ada" keluar 1 fi tr '[a-z] "[a-z]'> kecil.txt

Script di atas ini dapat mengonversi kasus file apa pun dengan satu klik dari satu klik dari huruf besar ke huruf kecil dan sebaliknya jika diperlukan, dengan sedikit modifikasi.

Output sampel
[[email dilindungi] /]# ./ConvertLowercase.sh masukkan nama file: a.File awal txt: a b c d e f g h i j k… 

File baru (kecil.txt) output:

A B C D E F G H I J K… 

Unduh ConvertLowercase.SH

Program Kalkulator Sederhana

#! /bin/bash jernih jumlah = 0 i = "y" echo "masukkan satu tidak."Baca N1 Echo" Masukkan No Kedua."Baca n2 sementara [$ i =" y "] do echo" 1.Penambahan "Echo" 2.Pengurangan "gema" 3.Penggandaan "Echo" 4.Divisi "Echo" Enter Your Choice "Baca ch case $ ch in 1) sum = 'expr $ n1 + $ n2' echo" sum = "$ sum ;; 2) sum = 'expr $ n1 - $ n2' echo" sub sub = "$ sum ;; 3) sum = 'expr $ n1 \ * $ n2' echo" mul = "$ sum ;; 4) sum = 'expr $ n1 / $ n2' echo" div = "$ sum ;; * ) echo "pilihan tidak valid" ;; esac echo "apakah kamu ingin melanjutkan (y/n)) ?"Baca saya jika [$ i != "y"] lalu keluar dari fi selesai
Output sampel
[[email dilindungi] /]# ./SimpleCalc.SH masukkan satu no. 12 Masukkan No Kedua. 14 1.Penambahan 2.Pengurangan 3.Multiplikasi 4.Divisi Masukkan Pilihan Anda 1 Jumlah = 26 Apakah Anda ingin melanjutkan (Y/T)) ? y 1.Penambahan 2.Pengurangan 3.Multiplikasi 4.Divisi Masukkan Pilihan Anda 3 Mul = 14812 Apakah Anda ingin melanjutkan (y/n)) ? N

Unduh Simplecalc.SH

Begitu juga Anda melihat betapa mudahnya membuat program yang kuat sebagai perhitungan dengan cara yang sederhana. Ini bukan akhir. Kami akan memadatkan dengan setidaknya satu artikel lagi dari seri ini, yang mencakup perspektif luas dari tampilan administrasi.

Itu saja untuk saat ini. Menjadi pembaca dan kritikus terbaik jangan lupa untuk memberi tahu kami seberapa banyak dan apa yang Anda nikmati dalam artikel ini dan apa yang ingin Anda lihat di artikel mendatang. Pertanyaan apa pun sangat diterima dalam komentar. Sampai saat itu tetap sehat, aman Dan disetel. Menyukai Dan Membagikan kami dan bantu kami menyebar.