A variável de ambiente PATH indica que os comandos estão localizados.
Portanto, no seu caso, como " jdksjkdk " não foi encontrado no $PATH , ele gera um erro no descritor de arquivo STDERR e, portanto, você está obtendo stderr.readiness() como Comando não encontrado
Explanation: There are 3 standard file descriptors, every running program in linux opens the following file descriptors
- STDIN (0) => for standard input
- STDOUT(1) => for standard output
- STDERR (2) => for standard error
Portanto, quando o comando não foi encontrado, o erro foi gravado em
STDERR( arquivo desciptor = > 2), se foi bem sucedido, então a saída teria foi escrito paraSTDOUT(descritor de arquivo = > 1). Desde que paramiko é lendo o resultado deSTDERRe nãoSTDOUT, é assim que é verificando se o erro não é produzido