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:
/bin/sesu test
bash --login -c "sesu test"
PATH="$PATH;/path/to/sesu" && sesu test
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!