Shell, Bash dan Script: Semua tentang Shell Scripting.

Dalam kesempatan baru ini (Entri # 8) pada "Pelajari Pembuatan Skrip Shell" kami akan lebih fokus pada teori daripada praktik. artinya, kami tidak akan menginstal atau mempelajari kode atau menginstal perangkat lunak (paket) tertentu, melainkan kami akan mempelajari apa itu dunia Shell Scripting berbicara dengan benar, dengan menjawab pertanyaan kecil tapi langsung, yang ditunjukkan di bawah ini, untuk memperjelas sejauh ini apa yang telah diajarkan, yang tidak merujuk langsung ke kode internal yang diprogram:

Shell Scripting

Apa itu Shell dalam Sistem Operasi GNU / Linux?

Shell yang dalam bahasa Spanyol berarti CONCHA (shell, cover, protection). Istilah yang diterapkan dalam Sistem Operasi mengacu pada penerjemah perintah dari Sistem Operasi. Secara umum, ini adalah antarmuka teks berkinerja tinggi, dimanifestasikan dalam bentuk Terminal (Konsol) dan pada dasarnya digunakan untuk 3 area kerja penting:

1.- Kelola OS,
2.- Menjalankan aplikasi dan berinteraksi dengannya, dan
3.- Berfungsi sebagai lingkungan pemrograman dasar.

Banyak SO, GNU / Linux mereka masih lebih efisien dikelola dengan mengedit file konfigurasinya, melalui Terminal. Sebagai aturan umum, ini ditemukan di jalur tujuan: «/ etc ", dan dalam direktori tertentu untuk setiap aplikasi. Misalnya program Lilo (yang merupakan singkatan dari Linux Loader) dikonfigurasi dengan mengedit file teks yang terletak dan disebut sebagai "/Etc/lilo/lilo.conf". Dalam kasus program (aplikasi), ini diluncurkan (dijalankan / diaktifkan) dengan menulis nama yang dapat dieksekusi, jika ditemukan di jalur (jalur default) untuk semua yang dapat dieksekusi, seperti biasanya "/ Usr / bin" , atau dengan mengetik nama file yang dapat dieksekusi diawali dengan: ./, dari direktori tempat mereka berada.

Semua ini diketahui oleh semua pengguna Shell. Namun, kemampuannya sebagai lingkungan pemrograman kurang dikenal dan dihargai. Skrip (program) yang dibuat di Shell tidak perlu dikompilasi. Shell menafsirkannya baris demi baris. Oleh karena itu, ini dikenal atau dinamai Shells Scripts, dan dapat berkisar dari perintah sederhana hingga serangkaian instruksi kompleks untuk memulai OS itu sendiri. Secara umum, memiliki sintaks yang cukup bersih (jelas) (konstruksi, pengurutan), menjadikan mereka titik awal yang baik untuk memulai dunia pemrograman.

Apa itu Shell Scripting?

Ini adalah teknik (kemampuan / keterampilan) merancang dan membuat Script (file otomatisasi tugas) menggunakan Shell (lebih disukai) dari Sistem Operasi, atau Editor Teks (Grafik atau Terminal). Ini adalah jenis bahasa pemrograman yang umumnya ditafsirkan. Artinya, sementara sebagian besar program dikompilasi (dikodekan), karena mereka secara permanen diubah ke kode (khusus) tertentu sebelum dapat dieksekusi (proses kompilasi), skrip shell tetap dalam bentuk aslinya (sumber teks kodenya) dan ditafsirkan perintah dengan perintah setiap kali dijalankan. Meskipun ada kemungkinan bahwa skrip dapat dikompilasi juga, meskipun tidak biasa.

Apa karakteristik program berdasarkan pemrograman di bawah Shell Scripting?

1.- Mereka lebih mudah untuk ditulis (program), tetapi dengan biaya pemrosesan yang lebih tinggi ketika dijalankan.

2.- Mereka menggunakan interpreter, bukan kompiler untuk dijalankan

3.- Mereka memiliki hubungan komunikasi dengan komponen yang ditulis dalam bahasa pemrograman lain.

4.- File yang memuatnya disimpan sebagai teks biasa.

5.- Desain akhir (kode) biasanya lebih kecil daripada yang setara dalam bahasa pemrograman yang dikompilasi.

Apa jenis bahasa yang paling populer di bawah Shell Scripting?

1.- Bahasa kontrol tugas dan shell:

a) cmd.exe (Windows NT, Windows CE, OS / 2),
b) COMMAND.COM (DOS, Windows 9x)
c) csh, Bash, AppleScript, sh,
d) JScript melalui Windows Script Host,
e) VBScript melalui Windows Script Host,
f) REXX, di antara banyak lainnya.

2.- Skrip GUI (Bahasa Makro):

a) Hotkey Otomatis,
b) Otomatis,
c) Berharap,
d) Automator, antara lain.

3.- Bahasa skrip untuk aplikasi tertentu:

a) ActionScript dalam Flash,
b) MATLAB,
c) skrip mIRC,
d) QuakeC, antara lain.

4.- Pemrograman web (untuk halaman dinamis):

a) Di sisi server:

- PHP,
- ASP (Active Server Pages),
- Halaman JavaServer,
- ColdFusion,
- IPTSCRAE,
- Lasso,
- Skrip MIVA,
- SMX,
- XSLT, antara lain.

b) Di sisi klien:

- JavaScript,
- JScript,
- VBScript,
- Tcl, antara lain.

5.- Bahasa pengolah kata:

- AWK,
- Perl,
- Haus,
- XSLT,
- Bash, antara lain.

6.- Bahasa dinamis tujuan umum:

- APL,
- Boo,
- Dylan,
- Ferite,
- Groovy,
- IO,
- Lisp,
- Lua,
- MUMPS (M),
- NewLISP,
- Nuva,
- Perl,
- PHP,
- Python,
- Ruby,
- Skema,
- Smalltalk,
- SuperCard,
- Tcl,
- Revolusi, antara lain.

Apa itu Bash di GNU / Linux?

Ini adalah program komputer yang fungsinya untuk menginterpretasikan pesanan. Ini didasarkan pada Unix shell dan itu mendukung POSIX. Itu ditulis untuk proyek GNU dan merupakan shell default untuk sebagian besar distribusi Linux.

Apa itu Shell Script di GNU / Linux?

Skrip Shell mereka sangat berguna. Merupakan ide yang baik untuk menulis kebutuhan yang kita miliki dan kemudian mengedit skrip yang melakukan pekerjaan ini untuk kita. Sekarang, saatnya bertanya pada diri sendiri apa sebenarnya naskah itu. Ini adalah file teks, berisi serangkaian perintah shell, yang dijalankan sistem secara berurutan, dari atas ke bawah. Untuk mengeditnya, Anda hanya membutuhkan editor teks, seperti Emacs, Vi, Nano, di antara banyak yang sudah ada. Mereka disimpan dengan ekstensi ".sh" (atau tanpa itu, dalam beberapa kasus) dan dijalankan dari Shell menggunakan perintah: sh script name.sh. Skrip berperilaku dengan cara yang sama seperti perintah shell.

Pendekatan pengajaran yang saya gunakan secara pribadi "Pelajari Pembuatan Skrip Shell" Ini sangat praktis dan langsung, yaitu, untuk memeriksa Skrip yang berfungsi penuh, menguraikannya, mempelajarinya kalimat demi kalimat, baris demi baris, perintah demi perintah, variabel demi variabel, hingga Anda memahami cara kerja setiap elemen secara terpisah dan cara kerjanya. dalam kode umum. Semacam itu Rekayasa Ulang atau Rekayasa Ulang Perangkat Lunak. Semua ini untuk menyesuaikan pengetahuan, memperbaikinya (mengoptimalkannya) dan membagikannya, untuk kepentingan kolektif dan administrasi yang lebih baik serta optimalisasi Sistem Operasi gratis.

Bagaimana cara menjalankan dan bekerja di GNU / Linux Shell?

Langkah pertama dalam bekerja dengan Shell adalah menjalankan shell. Apa yang tampak seperti disangkal memiliki alasannya sendiri. Dalam beberapa distribusi GNU / Linux yang sangat berorientasi pada pengguna akhir, shell cukup tersembunyi. Biasanya, ini disebut: Konsole, Terminal, X Terminal, atau yang serupa. Pilihan lainnya adalah menggunakan konsol virtual. Menggunakan: Ctrl + Alt + f1, atau f2, atau f3 ke f7 atau f8, bergantung pada distribusi GNU / Linux yang Anda gunakan. Shell yang paling banyak digunakan di GNU / Linux adalah Bash, meskipun ada juga yang lain, seperti ksh atau C Shell. Dalam kasus saya, khususnya untuk publikasi saya, saya menggunakan Bash Shell.

Diberikan Script yang dibuat di Bash Shell disebut hello_world.sh berikut ini dapat dijelaskan:

Isi:

#! / bin / bash
echo halo dunia

Kerusakan:

Baris pertama skrip
#! / bin / bash

Menunjukkan program yang harus dijalankan skripnya. Jika program tidak dapat ditemukan, kesalahan akan terjadi.

Baris kedua naskah
echo halo dunia

Jalankan perintah echo dengan argumen Hello World, menyebabkannya ditampilkan di layar.

Eksekusi: Kami dapat menjalankan skrip dengan dua cara

Memanggil interpreter untuk menjalankan skrip:
# bash hello_world.sh

Itu juga dapat dijalankan sebagai:
# sh hello_world.sh

Tetapi karena Shell Anda yang benar tidak dipanggil, itu mungkin berfungsi setengah. Idealnya, Shell yang dipanggil di baris pertama adalah yang digunakan untuk mengeksekusinya.

Anda juga dapat menjalankan skrip secara langsung sebagai berikut:
# ./hello_world.sh

Catatan: ./ menunjukkan dijalankan dari direktori saat ini.

Yang masih harus dianalisis adalah kode yang Anda masukkan ke dalamnya. Saya berharap seperti biasa Anda menyukai (beberapa lebih dari yang lain, tergantung pada pembelajaran dan pengetahuan yang dibutuhkan) seri ini Shell Scripting.

Ada banyak tautan bagus tentang topik ini di web, tapi saya tinggalkan panduan kecil ini yang ada di sini DesdeLinuxBersih. Dan ini lainnya Panduan Eksternal.

Sampai postingan selanjutnya!


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   d4ny dijo

    Lilo .. Linux Loader .. selebihnya info sangat bagus .. terima kasih .. salu2 d4ny.-

  2.   Ing.José Albert dijo

    Salam untuk semua yang mengikuti Kursus Online "Learn Shell Scripting" segera kami akan melanjutkan dengan script dasar lainnya untuk terus mengapropriasi pengetahuan dan terus mensosialisasikannya kepada semua.

    Saya harap Anda tetap mengikuti perkembangannya karena saya akan segera mulai dengan kode yang lebih canggih tetapi diekspos dengan cara yang dapat dimengerti secara visual meskipun kompleksitasnya.

    Ingatlah bahwa dengan Shell Scripting Anda dapat melakukan banyak hal kompleks yang bersifat lintas platform (Distro Berbeda) menggunakan file yang sangat kecil. Saya akan meninggalkan Anda screencast kecil dari sesuatu yang akan saya ajarkan kepada Anda segera, kepada mereka yang terus menonton kursus ini, dan dengan janji hanya 50Kb! Dan itu hanya setengah dari apa yang dapat dilakukan dengan Shell Scripting.

    ScreenCast Uji LPI-SB8 (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    Lihat Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY

    1.    Alberto cardona dijo

      Halo, kontribusi Anda luar biasa, terima kasih banyak !!
      Saya memiliki sedikit keraguan, dapatkah saya memprogram kompiler dengan bash?
      Atau setidaknya penganalisis leksikal?
      memiliki kekuatan itu?

  3.   Ing.José Albert dijo

    Salam untuk semua yang mengikuti Kursus Online "Learn Shell Scripting" segera kami akan melanjutkan dengan skrip dasar lainnya untuk terus memanfaatkan pengetahuan dan terus mensosialisasikannya kepada semua. Saya harap Anda tetap mengikuti perkembangannya karena saya akan segera mulai dengan kode yang lebih canggih tetapi diekspos dengan cara yang dapat dimengerti secara visual meskipun kompleksitasnya.

    Ingatlah bahwa dengan Shell Scripting Anda dapat melakukan banyak hal kompleks yang bersifat lintas platform (Distro Berbeda) menggunakan file yang sangat kecil. Saya akan meninggalkan Anda screencast kecil dari sesuatu yang akan saya ajarkan kepada Anda segera, kepada mereka yang terus menonton kursus ini, dan dengan janji hanya 50Kb! Dan itu hanya setengah dari apa yang dapat dilakukan dengan Shell Scripting.

    ScreenCast Uji LPI-SB8 (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    Lihat Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY

  4.   Alberto dijo

    Halo Jose,
    Pertama, terima kasih telah membagikan pengetahuan Anda. Artikel Anda sangat menarik.

    Dua hal, menurut saya sangat penting untuk menggunakan tanda kutip ganda "Hello World" dan memiliki keluaran yang bersih dari skrip kita dengan keluar 0

  5.   Ing.José Albert dijo

    Terima kasih atas kontribusi Anda, di Script berikutnya Anda akan melihat penggunaan exit 0, break, dan lainnya!

  6.   willarmand dijo

    Salam.
    Sangat menarik, Anda membuatnya terlihat sederhana; Sekarang, saya telah menemukan bahwa saya tidak dapat memprogram di Linux dengan cron atau at, shutdown / suspend / hibernate, dengan konsekuensi mulai otomatis menggunakan perintah bangun rtc, saya tidak tahu apakah skrip dengan perintah itu akan membantu, atau mereka akan mengikuti cron dan tanpa melakukan apa pun, atau tidak dapat dilakukan, atau dilakukan secara berbeda, atau saya sangat ambisius, tetapi di Windows, melakukannya relatif mudah. Saya ingin pindah ke Linux, tetapi penting bagi saya untuk menjadwalkan shutdown / suspend / hibernate dan PC mulai dengan sendirinya. Salam.

  7.   Ing.José Albert dijo

    Mungkin ini akan memberi Anda beberapa ide inovatif: http://cirelramos.blogspot.com/2016/01/reiniciar-apagar-o-ejecutar-otra-tarea.html

  8.   willarmand dijo

    Terima kasih, saya akan membacanya dengan saksama, sesuatu akan membantu saya. Salam.

  9.   Edward Cuomo dijo

    Beberapa waktu lalu saya memulai sebuah proyek, yang menurut saya adalah salah satu dari jenisnya. Ini adalah prototipe untuk Framewok Bash. Ini hanya membutuhkan Bash pada sistem.
    Jika ada orang lain yang tertarik, mereka diundang untuk mencobanya dan berkolaborasi!

    https://github.com/reduardo7/bashx

    Salam!

    1.    kadal dijo

      Eduardo yang terhormat, menurut saya ini adalah proyek yang hebat, mungkin Anda dapat membaginya dengan seluruh komunitas desdelinux, ingatlah bahwa Anda dapat mempublikasikan artikel tentang proyek Anda di situs web kami, jika Anda tidak tahu bagaimana melakukannya, saya sarankan membaca https://blog.desdelinux.net/guia-redactores-editores/ di mana praktik terbaik untuk membuat artikel desdelinux dan prosedur yang harus dilakukan. Mungkin bagi komunitas, ada baiknya untuk terlebih dahulu mengetahui manfaat proyek Anda dan kedua mempelajari cara melakukan hal-hal semacam ini. Kami mengundang Anda dan kami mengundang orang lain untuk berbagi proyek mereka dengan kami dan komunitas besar di sekitar kami.

  10.   Gambar placeholder Miguel Urosa Ruiz dijo

    Halo, selamat pagi.
    Saya baru mengenal dunia administrasi mesin Linux, dan saya ingin tahu apa yang Anda rekomendasikan: ksh, bash, perl, php, python….
    Terima kasih banyak dan salam.
    Miguel.