Saat Anda menjalankan skrip apa pun dengan meneruskan nama file ke program juru bahasa skrip, Anda menjalankan program juru bahasa dengan skrip sebagai argumen yang diteruskan ke dalamnya. Misalnya ini akan terlihat seperti proses 'sh' dengan argumen 'filename.sh'. The sh
interpreter membuka file.
Di sisi lain, jika Anda menjalankan skrip itu sendiri, sistem memanggil program penerjemah yang ditentukan dan memasukkan isi skrip. Dalam hal ini prosesnya terlihat seperti 'filename.sh' tanpa argumen.
Anda harus memastikan Anda memiliki garis bang:
#!/bin/bash
# bash script here
Garis bang adalah baris paling pertama dalam skrip dan dimulai dengan dua karakter yang sama #!
, inilah yang dibaca sistem ketika mencoba menjalankan skrip dan kemudian sistem meneruskan skrip ke program segera setelahnya. Perhatikan bahwa baris ini tidak ada hubungannya dengan bash dan berfungsi dengan baik untuk python dan perl, meskipun mereka bahasa yang sangat berbeda. Anda akan menggunakan #!/usr/bin/python
misalnya dan kemudian mengikutinya dengan kode python.
Setelah Anda memiliki skrip, pastikan Anda telah mengatur izin eksekusi:
chmod a+x filename.sh
Kemudian Anda dapat menjalankan skrip sebagai prosesnya sendiri:
./filename.sh
Atau letakkan file di lokasi yang diketahui dengan nama program yang bagus, sukai /usr/sbin
dan jalankan dari mana saja:
sudo cp filename.sh /usr/sbin/program-name
program-name
Dan ini benar-benar manfaat praktis menggunakan garis bang dengan izin yang tepat - ini semua tentang penyebaran . Sangat sulit untuk membuat pengguna menjalankan skrip jika mereka harus mengingat program apa yang digunakan untuk menjalankan skrip. Ingatlah untuk memberikan path lengkap ke skrip setiap kali mereka ingin menjalankannya. Di mana menempatkannya sebagai /usr/local/bin
contoh, dan membuatnya dapat dieksekusi, dapat menyimpan banyak kesedihan bagi orang-orang yang mencoba menggunakan skrip Anda. Program-program ini kemudian tersedia untuk semua pengguna di komputer Anda.
Ini juga baik untuk identifikasi. Jika Anda masuk ke dalam top
program, skrip yang dijalankan tanpa bang line hanya akan memiliki nama penerjemah yaitu bash
, perl
atau python
. Tetapi jika skrip dijalankan dengan izin yang tepat, maka nama skrip akan ditampilkan.
Catatan: Jika Anda ingin mendistribusikan skrip yang dapat diakses oleh semua orang, silakan buat halaman manual dan paket deb untuk menginstalnya. Kita perlu mengurangi jumlah skrip acak daring dan meningkatkan jumlah debet yang dapat dihapus instalasinya.