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 ~/.bashrc
terminal Anda untuk diterapkan. Kemudian cukup gunakan nama baru untuk memulai skrip.
./filename.sh
dan bukan hanya filename.sh
?
filename
dan tidak./filename
./filename.sh
menentukan file di direktori saat ini dan menggunakan filename.sh
menentukan 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/bash
sebagai baris pertama dalam skrip Anda) hanya dengan memasukkan nama file. Penggunaan ini membutuhkan direktori yang ditentukan. Atau, Anda dapat mencoba bash filename.sh
yang 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
chmod
juga 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 + 004
dan 010
dan200
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 - Owner
memiliki semuanya, Group
dan Other
dapat membaca dan mengeksekusi
700 - Owner
memiliki semuanya
644 - Owner
dapat membaca dan menulis, dan Group
dan Other
dapat membaca
600 - Owner
dapat membaca dan menulis
Dan, jika Anda menggunakan grup pengguna non-sepele:
775 - Owner
dapat membaca dan menulis, dan Group
dan Other
dapat membaca
770 - Owner
dan Group
memiliki semuanya, dan Other
dapat membaca dan mengeksekusi
750 - Owner
memiliki semuanya, dan Group
dapat membaca dan mengeksekusi
664 - Owner
dan Group
dapat membaca dan menulis, dan Other
hanya bisa membaca
660 - Owner
dan Group
dapat membaca dan menulis
640 - Owner
dapat membaca dan menulis, dan Group
dapat membaca
777 dan 666 jarang digunakan, kecuali dalam / tmp.
Terima kasih Ilmari Karonen karena menunjukkan yang umum digunakan!