Saya memiliki seluruh folder yang didedikasikan untuk skrip python.
Saya bosan melakukan chmod pada setiap skrip python baru yang saya tulis.
Apakah ada cara untuk membuat setiap file di dalam folder saya dapat dieksekusi jika itu adalah skrip python?
Akan menyenangkan untuk memiliki skrip yang memeriksa setiap kali skrip .py baru dibuat dan jika ada skrip .py baru membuatnya dapat dieksekusi di sana saat itu juga.
- Saya menggunakan Vim.
command-line
scripts
executable
chmod
Dominici
sumber
sumber
vim
atauemacs
melakukan itu untuk Anda.Jawaban:
Pilihan bagus lainnya adalah Incron . Ini bekerja pada inotify dengan kondisi spesifik untuk lokasi tertentu.
Jadi bisa saya katakan tonton folder ini, ketika Anda melihat file dibuat, jalankan perintah.
Sama seperti sampel depan ...
Orang juga bisa menggunakan path / file sebagai argumen untuk skrip bash untuk memungkinkannya untuk memfilter berdasarkan
.py
ekstensi jika diperlukan.sumber
Akan membuat semua
.py
file saat ini dapat dieksekusi di direktori / path / ke / python / script / dir .Saya tidak mengetahui adanya alat otomatis seperti yang Anda gambarkan. Dimungkinkan untuk memiliki makro di editor Anda yang bisa melakukan ini, tetapi tidak dengan editor yang saya gunakan. ;-)
sumber
*.py
. Saya juga berasumsi bahwa skrip OP dimiliki oleh userID standarnya, jadi saya tidak melihat perlunyasudo
. Semoga beruntung untuk semua.Sebagai langkah pertama, Anda bisa mencoba ini di
~/.vimrc
:chmod +x
pada nama file untuk semua.py
file ketika Anda menulis kepada mereka. Melihat daftar peristiwa (:h events
), saya tidak dapat menemukan acara di mana file baru dibuat, jadi saya harus puas menjalankannya setiap kali ditulis.Pertama kali
chmod
diterapkan, file diubah, danvim
akan mengingatkan Anda akan hal itu:Saya mencoba beberapa trik untuk membuatnya
autoread
hanya untuk perubahan ini, tetapi tidak berhasil. Jadi, Anda harus menekan Enterdua kali.sumber
Ketika dimulai, skrip di bawah ini secara otomatis mengubah izin semua file dari jenis tertentu (ekstensi) dalam direktori (satu kali). Setelah itu, skrip memeriksa direktori setiap 5 detik untuk file yang baru ditambahkan , dan mengubah izin jika file tersebut dari tipe yang diberikan (dalam hal ini
.py
file)Ini memiliki beberapa pilihan: dalam kasus ini, itu membuat file baru ditambahkan executable, tapi tindakan lain yang mungkin juga, sebagaimana didefinisikan dalam baris:
command = "chmod +x"
. Selain itu, Anda dapat menentukan (mengubah) pada jenis file apa (ekstensi bahasa) tindakan yang harus dilakukan.Cara Penggunaan
Salin skrip di bawah ini ke file kosong. Simpan sebagai
change_permission.py
dan jalankan di latar belakang dengan perintah:Naskah
* Catatan: jika Anda memerlukan hak sudo, cukup jalankan skrip dengan
sudo
sumber
Berikut adalah beberapa info dengan beberapa perintah yang mungkin membantu, lihat http://ss64.com/bash/syntax-permissions.html
Anda dapat menggunakan skrip tajuk berikut. Tempatkan
mkscript.sh
di$PATH
. Jalankanmkscript.sh
dari direktori kerja tempat skrip python disimpan. Script membuat beberapa info header yang berguna, judul skrip dan membuatnya dieksekusi, dan kemudian buka editor yang dipilih; dalam kasus Anda VIM.Saya memodifikasi
mkscript.sh
, itu akan menghasilkan skrip dengan ekstensi python*.py
Variabel
${PYTHON_VERSION}
dipanggil, jadiPYTHON_VERSION="/usr/bin/python --version"
telah ditambahkan ke/etc/environment
file. Lihat https://help.ubuntu.com/community/EnvironmentVariablessumber