Saya memiliki file script.sh dan jenis file ini adalah file shellscript. Saya ingin menjadikan file ini sebagai file application / x-executable. Bagaimana saya bisa membuatnya?
Saya memiliki file script.sh dan jenis file ini adalah file shellscript. Saya ingin menjadikan file ini sebagai file application / x-executable. Bagaimana saya bisa membuatnya?
Jawaban:
Anda dapat menandai file sebagai executable:
chmod +x filename.sh
Anda kemudian dapat menjalankannya seperti ini:
./filename.sh
Jika Anda ingin menggunakan perintah lain untuk memulainya, Anda dapat menambahkan alias:
gedit ~/.bashrc
Tambahkan ini di akhir file:
alias <new name>='/home/<full path to script>/filename.sh'
Buka sesi terminal baru atau ketik source ~/.bashrcterminal Anda untuk diterapkan. Kemudian cukup gunakan nama baru untuk memulai skrip.
./filename.shdan bukan hanya filename.sh?
filenamedan tidak./filename
./filename.shmenentukan file di direktori saat ini dan menggunakan filename.shmenentukan file di direktori saat ini atau direktori PATH. Penggunaan pertama menghilangkan ketidakpastian tentang file mana yang diakses. Dalam hal ini, Anda mencoba untuk mengeksekusi skrip dengan bash atau penerjemah lain (berdasarkan diasumsikan #!/bin/bashsebagai baris pertama dalam skrip Anda) hanya dengan memasukkan nama file. Penggunaan ini membutuhkan direktori yang ditentukan. Atau, Anda dapat mencoba bash filename.shyang tampaknya berfungsi dengan direktori yang tidak ditentukan.
Ada dua cara untuk membuat file dapat dieksekusi:
Metode GUI:
Buka tab izin, lalu centang kotak `Jalankan: [] Izinkan mengeksekusi file sebagai program.

Metode Terminal / Perintah:
Anda dapat menggunakan:
cd /to/my/required/directory
Lalu lari
chmod +x filename.extension
Atau jalankan saja:
chmod +x /path/to/your/filename.extension
chmod memang memiliki beberapa opsi lanjutan:
Ruang-ruang tersebut untuk menunjukkan bahwa ia terpecah: - rwx --- ---
Set pertama ---adalah Pengguna. Yang kedua adalah Grup dan yang terakhir adalah Lainnya (orang lain)
r adalah singkatan dari Read, w untuk Write dan x untuk eXecute.
Jadi untuk memungkinkan semua orang membacanya, tetapi hanya Grup yang mengeksekusi dan Pengguna membaca dan menulisnya (tetapi karena beberapa alasan tidak dijalankan) adalah:
-rw- rx- r-- Tetapi ini akan ditambahkan ke perintah sebagai:
chmod +rw-rx-r-- /path/to/file.extension
chmodjuga bisa melakukan ini dalam angka. Ini didasarkan pada biner (saya pikir, seperti 1,2 dan 4)
Jadi ada angka-angka ini:
Jalankan oleh pengguna adalah 100. Jalankan berdasarkan grup adalah 010. Yang dijalankan oleh orang lain adalah 001
Tulis oleh pengguna adalah 200. Tulis menurut grup adalah 020. Menulis oleh orang lain adalah 002.
Baca oleh pengguna 400. Baca oleh grup adalah 040. Dibaca oleh orang lain adalah 004.
Lalu Anda menambahkan ini bersama-sama untuk mendapatkan kombinasi yang diinginkan.
Jadi untuk memungkinkan semua orang membacanya, tetapi hanya Grup yang mengeksekusi dan Pengguna untuk menulisnya (tetapi karena beberapa alasan tidak dijalankan) adalah:
400 + 040 + 004dan 010dan200
Itu menambah hingga 600 + 050 + 004 = 654.
Anda kemudian dapat menjalankan perintah.
chmod +654 /path/to/file.extension untuk mengaturnya.
Dan untuk mengatur semua izin Anda dapat mengetik:
chmod +rwxrwxrwx /path/to/file.extension
Atau (ini sedikit lebih mudah untuk ditulis, tetapi lebih sulit untuk mengingat masing-masing):
chmod +777 /path/to/file.extension
Akhirnya, Anda dapat melakukan:
chmod -777 /path/to/file.extension
Untuk mengambil semua izin dari semua orang.
Dan:
chmod +300 /path/to/file.extension
Untuk menambahkan baca dan tulis untuk pengguna, tanpa memengaruhi izin lainnya (mis. Eksekusi izin).
Situs web ini memiliki kotak centang kotak kecil yang sangat berguna, di mana Anda dapat mencentang opsi yang Anda inginkan dan memberi Anda perintah:

Namun, tidak semua kombinasi yang mungkin masuk akal untuk digunakan; yang utama yang digunakan adalah sebagai berikut:
755 - Ownermemiliki semuanya, Groupdan Otherdapat membaca dan mengeksekusi
700 - Ownermemiliki semuanya
644 - Ownerdapat membaca dan menulis, dan Groupdan Otherdapat membaca
600 - Ownerdapat membaca dan menulis
Dan, jika Anda menggunakan grup pengguna non-sepele:
775 - Ownerdapat membaca dan menulis, dan Groupdan Otherdapat membaca
770 - Ownerdan Groupmemiliki semuanya, dan Otherdapat membaca dan mengeksekusi
750 - Ownermemiliki semuanya, dan Groupdapat membaca dan mengeksekusi
664 - Ownerdan Groupdapat membaca dan menulis, dan Otherhanya bisa membaca
660 - Ownerdan Groupdapat membaca dan menulis
640 - Ownerdapat membaca dan menulis, dan Groupdapat membaca
777 dan 666 jarang digunakan, kecuali dalam / tmp.
Terima kasih Ilmari Karonen karena menunjukkan yang umum digunakan!