Saya memiliki beberapa skrip python di / usr / share / scripts / yang sering saya gunakan, dan saya ingin dapat menjalankannya dengan hanya menulis nama dan bukan path lengkap, bagaimana saya bisa melakukan ini?
echo $ PATH menunjukkan kepada saya:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer
Jadi saya mencoba menulis di terminal:
PATH="/usr/share/scripts/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer"
export
Tidak ada kesalahan yang ditampilkan dan gema $ PATH sekarang menunjukkan jalur skrip baru saya, tetapi ketika saya menjalankan scriptName saya mendapatkan perintah tidak ditemukan.
Apa yang saya lakukan salah?
Jawaban:
Tetapkan izin yang dapat dieksekusi untuk skrip python dengan "chmod + x *"
Sekarang Anda memiliki dua opsi:
/usr/local/bin
direktori.Contoh:
[mzed@node02 test]$ vim printme.py
Isi file:
-
Saya harap ini akan membantu Anda.
sumber
Oke, mungkin saya hanya sekolah yang lebih tua ...
Di / usr / bin tambahkan skrip shell dengan header #! / Bin / bash dan tidak ada ekstensi .sh. Kemudian dalam skrip tersebut jalankan python absolutepath.
Mengapa saya pikir ini lebih baik daripada jawaban lain:
Tidak memerlukan chmod-ing skrip Anda untuk membuatnya dieksekusi.
Tidak perlu mengganti nama skrip Anda.
sumber
Maaf karena menyarankan hal dasar .. Apakah Anda mencoba "scriptname.py", alih-alih hanya "scriptname"?
Selain itu, semua skrip harus memiliki izin pelaksanaan (Anda dapat melakukannya dengan mengeluarkan "chmod + x script.py") .. Dilihat dari komentar Anda di atas, karena Anda telah menjalankannya seperti "/ usr / share / scripts / scriptName. py args ", mereka harus mengeksekusi izin.
sumber