찾을 수 없음 "Unix 명령 실행용 Paramiko에 오류가 있습니까?" /> 찾을 수 없음" Unix 명령 실행용 Paramiko에 오류가 있습니까?" />
Paramiko에서 " 찾을 수 없음" 오류가 있는 Unix 명령 실행
Python의 Paramiko 라이브러리는 exec_command를 사용하여 특정 Unix 명령을 실행하려고 할 때 어려움을 겪을 수 있습니다. . 특히, "sh: : 찾을 수 없음" 오류가 발생할 수 있습니다. "ls"와 같은 간단한 명령은 성공적으로 실행될 수 있지만 "sesu"와 같은 특수 명령은 실패합니다.
근본 원인
Paramiko의 exec_command 함수는 기본적으로 실행되지 않습니다. "로그인" 모드에서 쉘을 실행하거나 의사 터미널을 할당하십시오. 이로 인해 일반 SSH 대화형 세션과 다른 시작 스크립트 세트가 제공됩니다.
솔루션
다양한 솔루션으로 이 문제를 해결할 수 있습니다.
-
전체 경로 사용: 명령에 전체 경로를 지정합니다(예: "/bin/sesu test").
-
PATH 환경 변수 설정: 시스템 PATH에 실행 파일이 포함된 디렉터리가 포함되어 있는지 확인하세요.
-
로그인 셸을 통해 명령을 실행하세요. "--login" 스위치를 사용하세요(예: "bash --login -c) "sesu test"".
-
명령 환경 수정: "PATH=""$PATH;/path/to/sesu"와 같은 구문을 사용하여 명령 자체 내에 특정 환경 변수를 설정합니다. " && sesu 테스트".
-
의사 터미널 할당 강제: exec_command에서 "get_pty" 매개변수를 사용하되 잠재적인 부작용에 유의하세요.
추가 고려 사항
- LD_LIBRARY_PATH와 같은 환경 변수 및 공유 객체 위치와 관련하여 문제가 발생할 수도 있습니다.
- 추가 통찰력과 대체 접근 방식은 링크된 리소스를 참조하세요.
위 내용은 Unix 명령 실행용 Paramiko의 \'<명령>을 찾을 수 없음\' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!