Artikel ini telah diuji untuk versi Subuntu berikut:
Artikel ini sebagian besar berlaku untuk semua versi Ubuntu. Untuk memahami artikel ini, halaman-halaman berikut sangat membantu:
Artikel ini dimaksudkan untuk memperkenalkan pihak yang berkepentingan pada kemungkinan dasar skrip bash. Jadi di sini konstruksi yang paling penting dibahas secara singkat dan ini diperdalam dengan beberapa contoh praktis. Area penerapan skrip bash¶
Skrip Bash cocok untuk menggabungkan program sesuai dengan kebutuhan Anda sendiri dan mereka memainkan peran sentral dalam kehidupan sehari-hari administrasi sistem. Di sini, di wiki Anda sudah dapat menemukan beberapa contoh yang menggambarkan penerapan skrip bash yang luas sedikit. Persiapan¶Editor¶
Secara default, editor berikut diinstal di versi Ubuntu yang berbeda:
Ubuntu (GNOME) : gedit
Xubuntu (Xfce) : Mousepad
Lubuntu (LXDE) : Leafpad
Ubuntu MATE (MATE) : Pluma
Selain Leafpad, semuanya menguasai penyorotan warna struktur perintah (penyorotan sintaks), yang secara signifikan meningkatkan kejelasan serta pencegahan dan pencarian kesalahan. Jika Anda tidak puas dengan editor pra-instal, setidaknya ada banyak alternatif yang baik, beberapa di antaranya dirancang untuk tugas-tugas khusus.
Untuk baris perintah disarankan:
mcedit dari paket mc-data
VIM (tidak mudah untuk pemula, tetapi masih sangat disarankan)Nama naskah¶
Masuk akal bahwa nama skrip menunjukkan fungsinya. Perlu dicatat bahwa Anda tidak menggunakan karakter khusus, dan seharusnya sudah tidak ada perintah sistem umum dengan nama ini. Anda tidak boleh memanggil skrip cp Anda, e.B. karena perintah ini sudah ada. Semuanya dapat dihindari hanya dengan menguji apakah sudah ada program dengan nama skrip yang diinginkan, dan ini dapat dilakukan sebagai berikut:
Jika Anda mendapatkan hasil di sini, namanya sudah ada, dan Anda harus datang dengan yang lain. Membuat executable dan call¶
Agar skrip berjalan tanpa menentukan interpreter, pertama-tama harus dibuat dapat dieksekusi. Ini dilakukan e.B. di konsol dengan perintah berikut.chmod +x /pfad/zu/mein_Skript.sh
Informasi lebih lanjut juga dapat ditemukan di Hak.
Jika skrip sekarang dapat dieksekusi, skrip dapat dimulai dengan menentukan jalur dan nama[3]:
Ini lebih mudah jika Anda sudah berada di direktori tempat skrip berada:
Tidak boleh dilupakan bahwa skrip juga dapat dieksekusi jika tidak dapat dieksekusi sendiri. Panggilan ke interpreter dengan nama skrip sebagai argumen juga mengeksekusi konten skrip:Membuat skrip tersedia¶
Setelah dibuat dapat dieksekusi, Anda dapat menautkan atau memindahkan skrip ke folder (e.B. ~/bin/), yang Anda kenal dengan variabel lingkungan $PATH. Ini sangat berguna jika skrip yang sudah jadi harus dipanggil dari mana saja hanya dengan memasukkan nama skrip. Di Ubuntu, mekanisme dalam file ~/.profile memastikan bahwa ~/bin/ secara otomatis ditempatkan pada awal $PATH, jika direktori itu ada.
Harus dipastikan (terutama dalam kasus komputer dan server yang digunakan oleh beberapa orang) bahwa skrip yang disimpan di direktori global seperti /usr/local/bin/ milik root pengguna dan hanya pengguna yang diizinkan untuk menulis ke file, jika tidak, Anda membuka celah keamanan.
Skrip di ~/bin/ juga bisa menjadi masalah keamanan jika mereka memiliki nama yang sama dengan program sistem. Misalnya, penyerang dengan hak pengguna sederhana dapat menempatkan skrip di folder ini, hanya disebut sudo, dan dengan demikian mencegat kata sandi pengguna.
Secara khusus, perintah berikut sangat membantu untuk membuat skrip tersedia dengan aman untuk semua pengguna komputer:ls -l /usr/local/binsudo chown root /usr/local/bin/mein_Skript.shsudo chgrp root /usr/local/bin/mein_Skript.shsudo chmod 755 /usr/local/bin/mein_Skript.sh
Jika skrip telah tersedia seperti yang dijelaskan di atas, maka dapat dipanggil dengan lebih mudah dengan perintah berikut (Garis miring titik plus dihilangkan):Untuk contoh¶
Ada dua jenis contoh dalam artikel ini. Di satu sisi, Anda dapat menemukan contoh interaktif, yang kemudian terlihat seperti ini.Edisi...
Ini berarti tidak ada yang lain selain bahwa Anda dapat memahami contoh ini hanya dengan mengetik ke konsol, baris demi baris. Jenis kedua adalah script. Ini selalu dimulai dengan Shebang Shebang, yang akan dijelaskan dalam sekejap, dan juga diatur dalam kotak dengan penyorotan sintaks, sehingga Anda dapat mengenali konstruksi dengan lebih baik. Ini kemudian harus disalin ke file skrip untuk mencobanya. Naskah pertama¶The Shebang¶
Pada prinsipnya, naskah dimulai melalui penerjemahnya. Skrip itu sendiri tidak menghasilkan proses, tetapi hanya interpreter yang mengeksekusi - misalnya, bash. Ini berarti bahwa untuk mengeksekusi skrip, interpreter harus dimulai dan diberi tahu skrip mana yang akan diproses. Panggilan seperti itu akan memiliki bentuk ini:
Tentu saja, dimungkinkan untuk mengatur shell eksekusi lagi setiap kali skrip Anda dipanggil, tetapi Anda sering tidak ingin melakukan upaya ini. Prosedur yang biasa adalah menentukan shell yang akan digunakan langsung dalam skrip. Ini dimungkinkan oleh shebang, yang termasuk dalam baris pertama naskah. Di sini Anda menentukan shell mana yang harus diedit skrip. Ini penting karena skrip ditulis dalam sintaks shell tertentu, yang kemudian harus menjalankannya.
Dalam hal ini, Anda menentukan bahwa bash harus digunakan untuk mengeksekusi skrip.
Berlian di awal baris hanya menentukan bahwa sisa baris adalah komentar. Shell yang dieksekusi tidak memperhatikan shebang. Kernel, di sisi lain, mengenali kapan file dimulai oleh berlian ini diikuti oleh tanda seru bahwa skrip ini harus dieksekusi oleh interpreter tertentu. Jalur penerjemah ini mengikuti #!, jadi di sini /bin/bash.
Apakah script yang disiapkan dengan cara ini memiliki hak eksekusi dan kemudian akan dieksekusi melalui
, maka panggilan ini setara dengan:/bin/bash ./mein_Skript.sh
Jalur absolut atau relatif harus ditentukan dalam shebang karena variabel lingkungan $PATH tidak dihormati. Jadi tidak cukup hanya menulis #!bash di sini.
Jika Anda menggunakan shell lain, ubah shebang yang sesuai, misalnya ke#!/bin/zsh. Namun, artikel ini hanya mengacu pada bash, itulah sebabnya /bin/bash digunakan. Ini jelas membuat pernyataan: "Ini adalah skrip bash."
Namun, dalam banyak instruksi lain, /bin/sh dapat ditemukan di shebang. Apa itu semua tentang? Bash adalah shell yang lebih kompleks yang tidak tersedia pada semua sistem mirip Unix. /bin/sh, di sisi lain, adalah suatu keharusan sesuai dengan standar POSIX. Namun, berkenaan dengan berbagai fungsi, sh yang diperlukan oleh POSIX dan Bash tidak cocok, karena Bash dapat melakukan lebih dari sh. Jika Anda menggunakan /bin/sh di shebang, pernyataan yang berbeda dibuat: "Skrip ini sesuai dengan standar POSIX."
Pada dasarnya, shebang harus menentukan penerjemah yang menguasai semua fungsi yang digunakan dalam skrip. Anda biasanya tidak dapat mengatakan "skrip shell dapat menggunakan /bin/sh". Sebaliknya, Anda harus menyadari bahwa Anda harus memilih penerjemah yang cocok dengan sintaks yang telah Anda pilih. Shebang yang salah dipilih adalah kesalahan umum.
Skrip bash yang menggunakan /bin/sh sebagai shebang hanya berfungsi dalam kasus luar biasa di mana hanya perintah persimpangan kedua cangkang yang digunakan. Sisipkan komentar¶
Komentar itu penting, dan Anda harus memanfaatkannya dengan baik. Pada bagian-bagian yang sulit Anda harus menyimpan catatan kecil untuk merekam apa yang Anda pikirkan dan bagaimana konstruksi bekerja. Ini membuatnya lebih mudah bagi diri Anda sendiri, e.B. setelah istirahat lebih lama, atau orang lain yang ingin mengedit skrip, untuk memahami.
Komentar dimulai dengan karakter hash (#). Ini bisa di mana saja dalam satu baris; Kecuali dalam tanda kutip. Bash mengabaikan segala sesuatu di belakangnya. Secara umum, terlihat seperti ini:# Ini adalah komentar commentno # Ini adalah komentar.echo "juga # tidak ada komentar di dalam" # tapi di luar ...Variabel – Bagian 1¶