Jadi saya telah menulis skrip bash pertama saya:
#!/bin/bash
echo 'hello world!'
exit
Saya tahu ini memiliki lokasi yang tepat untuk mem-bash dan dapat dieksekusi:
$ which bash
/bin/bash
$ chmod +x myscript.sh
Sekarang saya ingin menjalankannya dari baris perintah, tetapi saya mendapatkan kesalahan:
$ myscript.sh
myscript.sh: command not found
Jadi alih-alih saya coba ini dan berhasil:
$ bash myscript.sh
hello world!
Apakah ini yang saya harus selalu lakukan? Saya merasa seperti saya telah menjalankan skrip lain tanpa harus mendahuluinya bash
. Bagaimana saya bisa menjalankan myscript.sh tanpa harus mendahuluinya bash
?
Pembaruan: Berikut adalah penjelasan yang baik tentang mengapa dan bagaimana menjalankan skrip bash .
sumber
Selain saran dari Fernández, awali dengan sebuah poin, seperti ini:
Untuk alasan keamanan, direktori saat ini tidak pernah dimasukkan dalam jalur eksekusi.
sumber
Ada 3 cara untuk menjalankan skrip bash. Dengan contoh myscript.sh sebagai skrip yang ingin Anda jalankan.
Metode 1
jalankan skrip sebagai sub proses, yang akan memicu masalah izin jika bukan pemilik tulis. Anda dapat mengubah izin dengan chmod.
Metode 2
jalankan skrip sebagai pengguna saat ini. jika skrip bash ditulis dengan baik, seharusnya tidak ada kesalahan.
Metode 3
mirip dengan metode 2 tetapi jalan pintas. perhatikan bahwa ini didasarkan pada asumsi bahwa Anda menggunakan bash shell di sesi saat ini.
semoga ini membantu!:)
sumber