Berlayar Melalui Dunia Linux Bash Scripting - Bahagian III

Berlayar Melalui Dunia Linux Bash Scripting - Bahagian III

Artikel berikut sebelumnya 'Skrip shell'Siri sangat dihargai dan oleh itu saya menulis artikel ini untuk memperluaskan proses pembelajaran yang tidak pernah berakhir.

Bahagian skrip asas bahagian-3
  1. Memahami tips bahasa skrip shell linux asas - Bahagian I
  2. 5 skrip shell untuk pemula linux untuk mempelajari pengaturcaraan shell - Bahagian II
Kata kunci bash

A kata kunci adalah perkataan atau simbol yang mempunyai makna khas untuk bahasa komputer. Simbol dan perkataan berikut mempunyai makna khas untuk Bash Apabila mereka tidak disebutkan dan kata perintah pertama.

! ESAC SELECT Case Fi Kemudian [[lakukan untuk]] fungsi selesai sementara elif jika masa lain dalam 

Tidak seperti kebanyakan bahasa komputer, Bash membolehkan kata kunci digunakan sebagai Nama berubah -ubah Walaupun ini boleh membuat skrip sukar dibaca. Untuk memastikan skrip dapat difahami, kata kunci tidak boleh digunakan untuk nama berubah.

Perintah dilaksanakan dalam shell sebagai $(Perintah). Anda mungkin perlu memasukkan jalan penuh arahan. e.g., $ (/bin/tarikh), untuk pelaksanaan yang betul.

Anda mungkin mengetahui jalan program khusus menggunakan 'di manakah'Perintah. e.g., di mana tarikh

[[dilindungi e -mel]/]# di mana tarikh tarikh:/bin/tarikh/usr/share/man/man1/tarikh.1.Gz

Sudah cukup buat masa ini. Kami tidak akan banyak bercakap mengenai teori ini sekarang. Datang ke skrip.

Gerakkan direktori kerja semasa

Pindah dari direktori kerja semasa ke tahap mana -mana dengan hanya memberikan nilai berangka pada akhir skrip semasa melaksanakan.

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

Simpan kod di atas sebagai "naik.sh", Di desktop anda. Jadikannya boleh dilaksanakan (Chmod 755 UP.sh). Jalankan:

./naik.SH 2 (Akan menggerakkan direktori kerja semasa ke tahap dua).
./naik.SH 4 (akan menggerakkan direktori kerja semasa ke tahap empat).

Penggunaan dan kawasan aplikasi

Dalam skrip yang lebih besar yang mengandungi folder di dalam folder di dalam ... yang mengandungi perpustakaan, binari, ikon, executable, dll di lokasi yang berbeza, anda sebagai pemaju boleh melaksanakan skrip ini untuk bergerak ke lokasi yang dikehendaki dengan cara yang sangat automatik.

Catatan: Kerana adalah gelung dalam skrip di atas dan ia akan terus melaksanakan sehingga nilai -nilai itu benar untuk gelung.

Output sampel
[[dilindungi e -mel] /]# chmod 755 up [[dilindungi e -mel] /]# ./naik.sh 2 anda berada di: / [[dilindungi e -mel] /]# ./naik.sh 4 anda berada di: / [[dilindungi e -mel] /]#

Muat turun.sh

Buat fail atau folder rawak

Buat fail rawak (folder) tanpa peluang duplikasi.

#! /bin/bash echo "hello $ user"; echo "$ (uptime)" >> "$ (tarikh)".txt echo "Fail anda disimpan ke $ (pwd)"

Ini adalah skrip mudah tetapi ia berfungsi tidak begitu mudah.

  1. 'echo': Mencetak semua yang ditulis dalam petikan.
  2. '$': Adakah pemboleh ubah shell.
  3. '>>': Output diarahkan ke output Tarikh Perintah diikuti oleh txt sambungan.

Kita tahu output dari Tarikh perintah adalah Tarikh, dan masa dalam jam, minit, kedua bersama dengan tahun. Oleh itu, kita boleh mendapatkan output pada nama fail yang teratur tanpa peluang duplikasi nama fail. Ia boleh sangat berguna apabila pengguna memerlukan fail yang dibuat dengan setem masa untuk rujukan masa depan.

Output sampel
[[dilindungi e -mel] /]# ./Randomfile.SH Hello Server Fail anda disimpan ke/rumah/pelayan/desktop

Anda boleh melihat fail yang dibuat di desktop dengan tarikh hari ini dan masa sekarang.

[[E -mel dilindungi] /]# nano Sat \ Jul \ 20 \ 13 \: 51 \: 52 \ iSt \ 2013.TXT 13:51:52 UP 3:54, 1 Pengguna, beban purata: 0.09, 0.12, 0.08

Pelaksanaan yang lebih terperinci mengenai skrip di atas diberikan di bawah, yang berfungsi pada prinsip di atas dan sangat berguna dalam mengumpulkan maklumat rangkaian a Linux pelayan.

Muat turun RandomFile.sh

Skrip untuk mengumpulkan maklumat rangkaian

Mengumpulkan maklumat rangkaian mengenai a Linux pelayan. Skripnya terlalu besar dan tidak mungkin untuk menyiarkan keseluruhan kod dan output skrip di sini. Oleh itu, lebih baik anda boleh memuat turun skrip menggunakan pautan muat turun di bawah dan mengujinya sendiri.

Catatan: Anda mungkin perlu memasang LSB-Core pakej dan pakej dan kebergantungan yang diperlukan. Apt atau Yum pakej yang diperlukan. Jelas anda perlu akar untuk menjalankan skrip kerana kebanyakan arahan yang digunakan di sini dikonfigurasikan untuk dijalankan sebagai akar.

Output sampel
[[dilindungi e -mel] /]# ./CollectNetworkInfo.SH the Rangkaian Maklumat Konfigurasi Ditulis ke rangkaian.20-07-13.maklumat.txt. Sila e -mel fail ini ke [dilindungi e -mel] _Provider.com. ktop

Anda boleh menukar alamat e -mel di atas dalam skrip anda untuk menghantarnya dihantar kepada anda. Fail yang dihasilkan secara automatik boleh dilihat.

Muat turun CollectNetworkInfo.sh

Skrip untuk menukar huruf besar ke huruf kecil

Skrip yang menukar Huruf besar ke huruf kecil dan mengalihkan output ke fail teks "kecil.txt"Yang boleh diubah suai seperti yang diperlukan.

#!/bin/bash echo -n "Masukkan nama fail:" Baca nama fail jika [ ! -f $ filename]; Kemudian echo "nama fail $ filename tidak wujud" keluar 1 fi tr '[a-z] "[a-z]'> kecil.txt

Skrip di atas ini boleh menukar kes fail panjang dengan satu klik dari huruf besar ke huruf kecil dan sebaliknya jika diperlukan, dengan sedikit pengubahsuaian.

Output sampel
[[dilindungi e -mel] /]# ./ConvertLowerCase.sh masukkan nama fail: a.TXT Fail Awal: A B C D E F G H I J K .. 

Fail baru (kecil.txt) pengeluaran:

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

Muat turun ConvertLowerCase.sh

Program kalkulator mudah

#! /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.Penolakan "echo" 3.Pendaraban "echo" 4.Bahagian "echo" Masukkan pilihan anda "Baca kes ch $ 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 sah" ;; Esac echo "adakah anda mahu meneruskan (y/n)) ?"Baca saya jika [$ i != "y"] kemudian keluar dari fi selesai
Output sampel
[[dilindungi e -mel] /]# ./SimpleCalc.sh masukkan satu no. 12 Masukkan Kedua Tidak. 14 1.Tambahan 2.Penolakan 3.Pendaraban 4.Bahagian Masukkan Pilihan Anda 1 Jumlah = 26 Adakah anda ingin meneruskan (Y/N)) ? y 1.Tambahan 2.Penolakan 3.Pendaraban 4.Bahagian Masukkan Pilihan Anda 3 Mul = 14812 Adakah anda ingin meneruskan (Y/N)) ? n

Muat turun SimpleCalc.sh

Begitu juga anda melihat betapa mudahnya membuat program yang kuat sebagai pengiraan dengan cara yang mudah. Ini 'bukan akhir. Kami akan menyatukan sekurang -kurangnya satu lagi artikel siri ini, yang meliputi perspektif yang luas dari pandangan pentadbiran.

Itu sahaja buat masa ini. Menjadi pembaca dan pengkritik terbaik jangan lupa memberitahu kami berapa banyak dan apa yang anda nikmati dalam artikel ini dan apa yang anda mahu lihat di artikel masa depan. Sebarang pertanyaan sangat dialu -alukan dalam komen. Sehingga kemudian tinggal sihat, selamat dan ditala. Seperti dan Berkongsi kami dan bantu kami menyebarkan.