2013-04-10 15 views
13

Tôi đang cố gắng thiết lập kết nối SSH và xem thư mục có tồn tại không và nếu thư mục đó tồn tại, tôi muốn chạy các lệnh trên máy cục bộ Cuộc gọi SSH.Làm thế nào để kiểm tra xem thư mục tồn tại trên ssh và trả lại kết quả cho máy chủ

Dưới đây là những gì tôi đã cố gắng:

if [ ssh -t [email protected]_server -d /directory ] 
then 
{ 
    commands.... 
} 
fi 

là một cái gì đó như thể này?

+0

Vâng. Tuy nhiên, tốt hơn là lấy dữ liệu trước tiên, lưu trữ trong một biến và chơi với nó trong 'if' của bạn. – fedorqui

+0

Làm cách nào để lấy dữ liệu qua ssh trên máy chủ và gửi lại cho máy cục bộ của tôi? Tôi biết làm thế nào để làm điều đó theo cách khác xung quanh .. –

+0

^^ Xem câu trả lời của tôi ... – anishsane

Trả lời

26

Bạn đang rất gần:

Thay đổi câu lệnh if để

if ssh [email protected]_server '[ -d /directory ]' 

Tôi giả định rằng bạn đã thiết lập xác thực key-based.

+0

Điều này đã làm việc! Tôi tò mò, tuy nhiên, tại sao dấu ngoặc đơn làm cho một sự khác biệt trên các dấu ngoặc để bắt đầu và đóng câu lệnh if? –

+0

Và có, tôi đang sử dụng xác thực dựa trên khóa. –

+1

dấu ngoặc đơn không ** cần thiết ** ở đây, nhưng tăng khả năng đọc. – anishsane