(Lihat Gunakan #!/bin/sh atau #!/bin/bash untuk kompatibilitas Ubuntu-OSX dan kemudahan penggunaan &POSIX)
Jika saya ingin skrip saya menggunakan bash shell, apakah menggunakan ekstensi .bash benar-benar memanggil bash atau apakah itu tergantung pada konfigurasi sistem / baris shebang pertama. Jika keduanya berlaku tetapi berbeda, mana yang lebih didahulukan?
Saya tidak yakin apakah akan mengakhiri skrip saya dengan .sh untuk hanya menunjukkan "skrip shell" dan kemudian baris pertama memilih shell bash (mis. #!/usr/bin/env bash
) atau apakah akan mengakhirinya dengan .bash (serta pengaturan baris 1). Saya ingin bash dipanggil.
Jawaban yang Diterima:
apakah menggunakan ekstensi .bash sebenarnya memanggil bash atau apakah itu bergantung
pada konfigurasi sistem / baris shebang pertama.
Jika Anda tidak menggunakan juru bahasa secara eksplisit, maka juru bahasa yang dipanggil ditentukan oleh shebang
digunakan dalam naskah. Jika Anda menggunakan juru bahasa secara khusus maka juru bahasa tidak peduli ekstensi apa yang Anda berikan untuk skrip Anda. Namun, ekstensi ada untuk membuatnya sangat jelas bagi orang lain jenis skrip apa itu.
[[email protected] ~]$ cat ./ext.py
#!/bin/bash
echo "Hi. I am a bash script"
Lihat, .py
ekstensi ke skrip bash tidak menjadikannya skrip python.
[[email protected] ~]$ python ./ext.py
File "./ext.py", line 2
echo "Hi. I am a bash script"
^
SyntaxError: invalid syntax
Itu selalu bash
naskah.
[[email protected] ~]$ ./ext.py
Hi. I am a bash script