Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Beberapa Perintah Unix Mengembalikan Ralat \"tidak dijumpai\" dalam Paramiko Exec_Command Python?

Mengapa Beberapa Perintah Unix Mengembalikan Ralat \"tidak dijumpai\" dalam Paramiko Exec_Command Python?

DDD
DDDasal
2024-10-21 06:57:02357semak imbas

Why Do Some Unix Commands Return

Ralat "tidak ditemui" dengan Perintah Unix dalam Paramiko Python

Apabila cuba melaksanakan arahan 'sesu' pada pelayan Unix menggunakan Python's Paramiko exec_command, pengguna mungkin menghadapi mesej ralat "sh: sesu: tidak dijumpai." Isu ini timbul hanya dengan arahan tertentu, seperti 'sesu,' manakala perintah lain, seperti 'ls,' berfungsi seperti yang dimaksudkan.

Ralat ini berpunca daripada tingkah laku lalai dalam SSHClient.exec_command, yang tidak menjalankan shell dalam mod "log masuk" dan tidak memperuntukkan terminal pseudo. Akibatnya, pelaksanaan arahan mungkin berbeza daripada sesi SSH interaktif, di mana skrip permulaan dan pembolehubah persekitaran tertentu diperolehi atau digunakan.

Penyelesaian Kemungkinan

Penyelesaian berikut disyorkan mengikut keutamaan:

  • Ubah suai arahan untuk menentukan laluan penuh kepada boleh laku:
/bin/sesu test
  • Konfigurasikan skrip permulaan untuk menetapkan PATH secara konsisten:
  • Jalankan arahan secara eksplisit melalui shell log masuk:
bash --login -c "sesu test"
  • Ubah persekitaran dalam perintah itu sendiri:
PATH="$PATH;/path/to/sesu" && sesu test
  • Sebagai langkah terakhir (tidak disyorkan):
stdin,stdout,stderr = ssh.exec_command('sesu test', get_pty=True)

Atas ialah kandungan terperinci Mengapa Beberapa Perintah Unix Mengembalikan Ralat \"tidak dijumpai\" dalam Paramiko Exec_Command Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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