Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyelesaikan Ralat Unix CommandNotFound dalam Paramiko Exec_command Python?

Bagaimana untuk Menyelesaikan Ralat Unix CommandNotFound dalam Paramiko Exec_command Python?

Barbara Streisand
Lepaskan: 2024-10-21 07:02:02
asal
901 orang telah melayarinya

How to Resolve Unix CommandNotFound Error in Python's Paramiko Exec_command?

Ralat Unix CommandNotFound dalam Paramiko Exec_command

Apabila melaksanakan arahan Unix tertentu, seperti 'sesu,' melalui modul Paramiko exec_command Python, anda boleh menghadapi ralat "perintah tidak dijumpai". Isu ini timbul kerana kaedah exec_command biasanya tidak beroperasi dalam mod "log masuk", menyebabkan set pembolehubah persekitaran dan skrip permulaan yang berbeza diperoleh berbanding sesi SSH interaktif standard.

Penyelesaian Potensi:

1. Tentukan Laluan Penuh untuk Perintah:

Gunakan laluan penuh untuk arahan dalam argumen exec_command anda. Sebagai contoh, "ujian/bin/sesu" dan bukannya "ujian sesu." Anda boleh menentukan laluan penuh menggunakan arahan "mana" dalam sesi SSH interaktif.

2. Laraskan Skrip Permulaan:

Pastikan skrip permulaan (cth., .bash_profile) menetapkan pembolehubah persekitaran PATH secara seragam untuk kedua-dua sesi interaktif dan bukan interaktif.

3. Gunakan --login Suis:

Jalankan arahan menggunakan cangkerang log masuk dengan suis "--login", seperti "bash --login -c "sesu test"."

4. Ubah Suai Pembolehubah Persekitaran dalam Perintah:

Ubah suai pembolehubah persekitaran secara langsung dalam arahan itu sendiri. Dalam sistem Unix biasa, sintaks berikut digunakan: "PATH="$PATH;/path/to/sesu" && ujian sesu."

5. Paksa Peruntukan Terminal Pseudo (Tidak Disyorkan):

Dayakan peruntukan terminal pseudo untuk saluran exec menggunakan parameter get_pty=True. Walau bagaimanapun, pendekatan ini boleh membawa kepada hasil yang tidak dijangka.

Pertimbangan Tambahan:

  • Isu yang sama mungkin berlaku dengan pembolehubah persekitaran LD_LIBRARY_PATH dan lokasi objek kongsi.
  • Rujuk sumber berikut untuk maklumat lanjut:

    • Perbezaan pembolehubah persekitaran apabila menggunakan Paramiko
    • Arahan Unix tertentu gagal dengan "... tidak dijumpai " apabila dilaksanakan melalui Java menggunakan JSch

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Unix CommandNotFound dalam Paramiko Exec_command Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan