2009-10-31 30 views
9

Tôi đang cố gắng để chạy một kịch bản bash có:Làm thế nào để sudo trên một máy tính sử dụng ssh bên trong một kịch bản bash

ssh -l <username> <compname> 'sudo yum -y install expect' 

tôi nhận được lỗi:

sudo: sorry, you must have a tty to run sudo 

trên một số máy tính nhưng về những người khác, quá trình này diễn ra suôn sẻ. Làm thế nào tôi có thể ngăn chặn điều này?

+0

superuser.com có ​​thể là một nơi tốt đẹp hơn cho câu hỏi này – Michael

+0

Câu hỏi đặt ra là * * lập trình liên quan vì nó là trong một kịch bản. Điều đó là đủ để làm cho nó hợp lệ cho SO. Không có người dùng nào cần biết điều này. –

+0

đúng, đủ công bằng – Michael

Trả lời

22

Sử dụng -t cờ để buộc một tty được phân bổ:

ssh -t -l <username> <compname> 'sudo yum -y install expect' 
+0

cảm ơn. Làm việc như một say mê! – Guy

Các vấn đề liên quan