Cara Menjalankan Skrip Shell di Linux [Keperluan yang Diterangkan untuk Pemula]

Inilah semua butiran penting yang harus anda ketahui mengenai pelaksanaan skrip shell di baris perintah Linux.



Terdapat dua cara untuk menjalankan skrip shell di Linux. Anda boleh menggunakan:

bash script.sh

Atau anda boleh melaksanakan skrip shell seperti ini:





tindakan tidak dapat diselesaikan kerana fail dibuka dalam sistem
./script.sh

Itu mungkin mudah, tetapi tidak banyak menerangkan. Jangan bimbang, saya akan membuat penjelasan yang diperlukan dengan contoh supaya anda memahami mengapa sintaks tertentu digunakan dalam format yang diberikan semasa menjalankan skrip shell.

Saya akan menggunakan skrip shell satu baris ini untuk membuat sesuatu yang tidak rumit mungkin:



[email protected] :~/Scripts$ cat hello.sh echo 'Hello World!'

Kaedah 1: Menjalankan skrip shell dengan meneruskan fail sebagai argumen ke shell

Kaedah pertama melibatkan memasukkan nama fail skrip sebagai argumen ke shell.

Memandangkan bash adalah shell lalai, anda boleh menjalankan skrip seperti ini:

bash hello.sh

Adakah anda tahu kelebihan pendekatan ini? Skrip anda tidak perlu mempunyai kebenaran pelaksanaan . Cukup berguna untuk tugas cepat dan sederhana.

Menjalankan Shell Skrip Linux

Sekiranya anda belum biasa, saya menasihati anda untuk baca panduan terperinci saya mengenai kebenaran fail di Linux .

Perlu diingat bahawa ia harus menjadi skrip shell yang anda sampaikan sebagai argumen. Skrip shell terdiri daripada perintah. Sekiranya anda menggunakan fail teks biasa, ia akan mengeluh tentang perintah yang salah.

Menjalankan Fail Teks Sebagai Skrip

Dalam pendekatan ini, anda secara jelas menyatakan bahawa anda ingin menggunakan bash sebagai jurubahasa untuk skrip.

Shell hanyalah program dan bash adalah pelaksanaannya. Terdapat program kerang lain seperti ksh, zsh , dll. Sekiranya anda memasang cengkerang lain, anda juga boleh menggunakannya sebagai ganti bash.

Sebagai contoh, saya memasang zsh dan menggunakannya untuk menjalankan skrip yang sama:

Laksanakan Skrip Shell Dengan Zsh

Baca yang Disyorkan:

Jalankan Pelbagai Perintah Di Linux

Menjalankan Skrip Shell Di Direktori Lain

Itu ./ sebelum skrip itu penting (ketika anda berada di direktori yang sama dengan skrip)

Mengapa anda tidak boleh menggunakan nama skrip ketika anda berada di direktori yang sama? Ini kerana sistem Linux anda mencari pelaksanaan yang boleh dijalankan dalam beberapa direktori terpilih yang ditentukan dalam pemboleh ubah PATH.

Inilah nilai pemboleh ubah PATH untuk sistem saya:

[email protected] :~$ echo $PATH /home/abhishek/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Ini bermaksud bahawa sebarang fail dengan izin pelaksanaan di salah satu direktori berikut dapat dijalankan dari mana saja dalam sistem:

  • /home/abhishek/.local/bin
  • / usr / tempatan / sbin
  • / usr / tempatan / tong sampah
  • / usr / sbin
  • / usr / tong sampah
  • / sbin
  • / pagi
  • / usr / permainan
  • / usr / tempatan / permainan
  • / snap / tong sampah

Binari atau fail yang boleh dilaksanakan untuk arahan Linux seperti ls, cat dll terletak di salah satu direktori tersebut. Inilah sebabnya mengapa anda dapat menjalankan perintah ini dari mana saja di sistem anda hanya dengan menggunakan namanya. Lihat, perintah ls terletak di direktori / usr / bin.

Apabila anda menentukan skrip TANPA jalan mutlak atau relatif, ia tidak dapat menemuinya di direktori yang disebutkan dalam pemboleh ubah PATH.

Mengapa kebanyakan skrip shell mengandungi #! / bin / bash pada awal skrip shell?

Ingat bagaimana saya menyebutkan bahawa shell hanyalah sebuah program dan ada implementasi shell yang berbeza.

cara mengeluarkan kad kredit yang disimpan dari google chrome

Apabila anda menggunakan #! / bin / bash, anda menentukan bahawa skrip akan dijalankan dengan bash sebagai jurubahasa. Sekiranya anda tidak melakukan itu dan menjalankan skrip dengan cara ./script.sh, biasanya dijalankan dengan shell apa sahaja yang anda jalankan.

Pentingkah? Ia boleh. Lihat, kebanyakan sintaks cengkerang adalah biasa pada semua jenis cengkerang tetapi ada juga yang mungkin berbeza.

Sebagai contoh, tingkah laku larik berbeza dalam cengkerang bash dan zsh. Dalam zsh, indeks array bermula pada 1 dan bukannya 0.

Bash Vs Zsh

Menggunakan #! / bin / bash menunjukkan bahawa skrip adalah skrip bash shell dan harus dijalankan dengan bash sebagai jurubahasa tanpa mengira shell yang sedang digunakan pada sistem. Sekiranya anda menggunakan sintaks khusus zsh, anda boleh menunjukkan bahawa itu adalah skrip zsh dengan menambahkan #! / bin / zsh sebagai baris pertama skrip.

Ruang antara #! / bin / bash tidak menjadi masalah. Anda juga boleh menggunakan #! / Bin / bash.

Adakah ia berguna?

Saya harap artikel ini menambah pengetahuan Linux anda. Sekiranya anda masih mempunyai pertanyaan atau cadangan, sila tinggalkan komen.

Pengguna pakar masih boleh memilih artikel ini mengenai perkara yang saya terlepas. Tetapi masalah dengan topik pemula adalah bahawa tidak mudah mencari keseimbangan maklumat yang tepat dan mengelakkan terlalu banyak atau terlalu sedikit butiran.

Sekiranya anda berminat untuk belajar skrip bash, kami mempunyai keseluruhan Seri Pemula Bash di laman web fokus sysadmin kami Buku Panduan Linux . Sekiranya anda mahu, anda mungkin juga beli ebook dengan latihan tambahan untuk menyokong Buku Panduan Linux .


Suka dengan apa yang anda baca? Sila kongsi dengan orang lain.

Artikel Yang Menarik

Trojan Bitrep

Trojan Bitrep

Cara menghapus Bitrep Trojan - arahan penyingkiran virus (dikemas kini)

iMessage tidak berfungsi pada Mac?

iMessage tidak berfungsi pada Mac?

iMessage tidak berfungsi pada Mac?

Bagaimana hendak menyahpasang program Gdiview yang tidak diingini?

Bagaimana hendak menyahpasang program Gdiview yang tidak diingini?

Cara menyahpasang Gdiview Virus - arahan penyingkiran virus (dikemas kini)

Meet Enve: Perisian Animasi Sumber Terbuka 2D

Meet Enve: Perisian Animasi Sumber Terbuka 2D

Enve adalah perisian animasi 2D lintas platform yang membolehkan anda membuat animasi vektor dan animasi raster.

Virus Ssl.plist (Mac)

Virus Ssl.plist (Mac)

Cara menyingkirkan Ssl.plist Virus (Mac) - panduan penyingkiran virus (dikemas kini)

Elakkan laman web 'dipilih secara rawak untuk menguji iPhone baru'

Elakkan laman web 'dipilih secara rawak untuk menguji iPhone baru'

Cara Menghilangkan Dipilih Secara Rawak Untuk Menguji Penipuan POP-UP iPhone Baru (Mac) - panduan penyingkiran virus (dikemas kini)

Bagaimana Memperbaiki Janda Ralat Kemas kini Kod 80244019?

Bagaimana Memperbaiki Janda Ralat Kemas kini Kod 80244019?

Bagaimana Memperbaiki Janda Kod Ralat Kemas kini 80244019?

Bagaimana Memperbaiki Masalah 'Windows tidak dapat mengesan tetapan proksi rangkaian' secara automatik?

Bagaimana Memperbaiki Masalah 'Windows tidak dapat mengesan tetapan proksi rangkaian' secara automatik?

Bagaimana Memperbaiki Masalah 'Windows tidak dapat mengesan tetapan proksi rangkaian' secara automatik?

Jangan memuat turun aplikasi meragukan dari laman web penipuan 'Kosongkan beberapa memori'

Jangan memuat turun aplikasi meragukan dari laman web penipuan 'Kosongkan beberapa memori'

Cara menghapus Percuma Menurunkan Beberapa Memori POP-UP Segera - panduan penyingkiran virus (dikemas kini)

Cara membuang entri 'Diuruskan oleh organisasi anda' dari Chrome

Cara membuang entri 'Diuruskan oleh organisasi anda' dari Chrome

Cara menyingkirkan Pembajak Peramban (Windows) Chrome 'Diuruskan Oleh Organisasi Anda' - panduan penyingkiran virus (dikemas kini)


Kategori