Saya ingin menulis analog Ubuntu dari "file batch" (skrip shell). Tapi saya tidak tahu bagaimana menggunakan perintah untuk membuatnya sehingga skrip dapat dijalankan. Saya juga tidak tahu di mana menggunakannya.chmod +x filename
permissions
scripts
chmod
executable
execute-command
pengguna265696
sumber
sumber
chmod
tidak benar-benar berlaku untuk OS tersebut dan "file batch" dalam tanda kutip . OP di sini (terakhir terlihat 2014) ingin menulis dan menjalankan sesuatu yang mirip dengan file batch. Tidak seperti di OS seperti Unix, pengguna Windows (dan DOS) tidak harus menggunakan apa pun sepertichmod +x
membuatnya sehingga mereka dapat meluncurkan skrip mereka dengan cara yang sama seperti mereka meluncurkan binari yang dapat dieksekusi. Saya telah mengedit sedikit untuk mengklarifikasi pertanyaan, dan saya memilih untuk membuka kembali.Jawaban:
Pendeknya:
chmod +x
pada file (skrip Anda) hanya berarti, bahwa Anda akan membuatnya dapat dieksekusi. Klik kanan pada skrip Anda dan pilih Properties -> Izin -> Izinkan mengeksekusi file sebagai program , meninggalkan Anda dengan hasil yang sama persis dengan perintah di terminal.Jika file yang ingin Anda ubah izinnya berada di dalam direktori sistem Anda mungkin perlu
root
, seperti: (hati-hati, saat menggunakansudo
perintah)Juga tidak jelas, apa sebenarnya yang ingin Anda arsipkan di sini. Harap edit pertanyaan Anda dan berikan detail lebih lanjut tentang masalah yang sebenarnya!
Anda juga dapat merujuk ke pertanyaan ini, untuk informasi lebih lanjut: chmod u + x 'versus' chmod + x
Dalam Panjang:
Ketik
man chmod
jendela terminal ( Ctrl+ Alt+ T) dan Anda akan mendapatkan output berikut:NAME: chmod - ubah bit mode file
RINGKASAN
DESKRIPSI
SETUID DAN SETGID BITS
PILIHAN
sumber
chmod u+x
akan membuatnya dapat dieksekusi hanya untuk AndaPertama, skrip Anda harus mendeklarasikan penerjemah mana yang akan digunakan. Anda melakukan ini di baris pertama file. Jika ini adalah skrip shell, seharusnya
#!/bin/sh
atau#!/bin/bash
.Jadi, inilah skrip yang menulis nama pengguna Anda: echo-whoami.sh
#!/bin/sh echo $(whoami)
Untuk membuatnya dapat dieksekusi, gunakan
chmod +x echo-whoami.sh
. Kemudian Anda bisa menjalankannya menggunakan./echo-whoami.sh
.sumber
Sebuah file batch dan shell script adalah dua istilah yang berarti efektif sama di Linux. Namun, istilah skrip jauh lebih sering digunakan .
File skrip shell paling sederhana hanya berisi perintah saat Anda mengetikkannya pada baris perintah (yaitu, penerjemah perintah Bash). Secara teori, Anda bahkan dapat mengganti juru bahasa dengan bahasa apa pun yang Anda suka (dan memiliki juru bahasa untuk). Agar lebih eksplisit, disarankan Anda memulai dengan baris pertama Anda
#!/bin/sh
(jika Anda tidak ingin portabilitas maksimum dengan sistem legacy)atau
#!/bin/bash
(jika Anda ingin beberapa fitur tambahan, Anda mungkin tidak peduli hari ini)Setelah baris ini memasukkan perintah Anda, satu di setiap baris. Ada banyak konstruksi tambahan di luar ruang lingkup pertanyaan ini, lihat
man bash
atau http://www.tldp.org/LDP/Bash-Beginners-Guide/Bash-Beginners-Guide.pdf (untuk Pemula) atau http: // www .tldp.org / LDP / abs / abs-guide.pdf (untuk pertanyaan lebih lanjut).Untuk benar-benar menjalankan skrip Anda, ada dua persyaratan: Pertama, proses penerjemah perlu membaca file , dan kedua memeriksa apakah itu ditandai sebagai executable . Untuk alasan kenyamanan, berguna juga untuk dapat menulis ke skrip Anda (sehingga Anda dapat membuat perubahan atau perbaikan yang seharusnya).
Dengan asumsi lebih lanjut bahwa Anda ingin anggota tim dan lainnya juga dapat menjalankan (dan melihat) skrip Anda, tetapi Anda tidak ingin mereka memanipulasi itu, kombinasi dari
a+x
atau+x
, sepertia
default),a+r
atau+r
, sepertia
standarnya),u=w
)biasanya nilai yang masuk akal dari izin file Anda. Anda dapat mengetikkan tindakan tunggal yang disatukan, dipisahkan dengan koma.
Sementara ini "bahasa tindakan" sangat menarik (perhatikan perbedaan
+
dan=
Operator yang menghasilkan hasil yang berbeda tergantung dari pengaturan izin sebelum Anda mengubah mereka), mereka membosankan untuk mengetik.Karena semua tindakan membuat topeng bit yang diterapkan secara internal, Anda dapat mengetikkan bitmask (lihat
man chmod
detailnya) juga secara langsung.Untuk shellscript, chmod 755 myscript.sh paling masuk akal dalam setidaknya 95% dari semua kasus.
sumber