Tôi đang sử dụng một kịch bản lệnh pexpect đơn giản để ssh đến một máy từ xa và lấy một giá trị được trả về bởi một lệnh. Có cách nào, pexpect hoặc sshwise tôi có thể sử dụng để bỏ qua lời chào unix? Đó là, từPexpect - im lặng đầu ra kết nối ssh
child = pexpect.spawn('/usr/bin/ssh %[email protected]%s' % (rem_user, host))
child.expect('[pP]assword: ', timeout=5)
child.sendline(spass)
child.expect([pexpect.TIMEOUT, prompt])
child.before = '0'
child.sendline ('%s' % cmd2exec)
child.expect([pexpect.EOF, prompt])
# Collected data processing
result = child.before
# logon to the machine returns a lot of garbage, the returned executed command is at the 57th position
print result.split('\r\n') [57]
result = result.split('\r\n') [57]
Làm thế nào tôi có thể chỉ đơn giản là lấy giá trị trả về, bỏ qua, các "đăng nhập thành công cuối" và "(c) Bản quyền" thứ và mà không cần phải quan tâm với giá trị đúng vị trí?
Cảm ơn!
Cảm ơn. Tôi đã truy cập vào máy chủ lưu trữ nhưng không có quyền chỉnh sửa nội dung nào ở đó. ssh -t làm việc rất đẹp. –