2014-11-22 10 views
11

Tôi đã viết một tập tin thực thi như thế này:Làm thế nào để ngăn chặn vỏ PuTTY khỏi tự động thoát sau khi thực thi lệnh từ tập tin batch trong Windows?

Start putty.exe -ssh 172.17.0.52 -l root -m dummy.txt 

Sau đó, trong dummy.text Tôi đã viết lệnh này:

avahi-daemon --no-drop-root -D 
export XVHMI_USERCONFIG_PATH=/home/UserProfileConfig 
export XDG_RUNTIME_DIR=/tmp 
cd /opt/bosch/airis/bin 

Khi tôi chạy file .bat, PuTTY bắt đầu, các lệnh thực thi (hy vọng, không chắc chắn) và nó thoát.

Làm cách nào để mở cửa sổ đó?

Tôi đã googled cho cùng một, nhưng không có sự giúp đỡ vững chắc. Tôi đọc trên stack tràn chính nó mà chúng ta cần phải xác định một cái gì đó trong tập tin txt, nhưng những gì và quan trọng nhất là làm thế nào?

Trả lời

12

Phiên SSH đóng (và PuTTY với nó) ngay sau khi lệnh kết thúc. Thông thường lệnh "" là shell. Như các bạn đã ghi đè mặc định "lệnh" này nhưng bạn muốn chạy vỏ tuy nhiên, bạn phải thực hiện một cách rõ ràng vỏ bản thân:

avahi-daemon ... ; /bin/bash 

Cũng như sử dụng -m switch ngụ ý một thiết bị đầu cuối không tương tác, bạn có thể muốn buộc thiết bị đầu cuối tương tác trở lại bằng cách sử dụng công tắc -t.


Mặc dù, tôi không thực sự chắc chắn nếu bạn muốn thực thi trình bao hoặc nếu bạn chỉ muốn xem kết quả đầu ra của mình. Nếu sau này, bạn có cân nhắc sử dụng plink không? Đó là giao diện điều khiển thiết bị đầu cuối khách hàng từ gói PuTTY. Là ứng dụng giao diện điều khiển, nó kế thừa giao diện điều khiển của tệp bó gốc và bạn có thể tạm dừng bảng điều khiển lô từ khi đóng bằng lệnh pause, nếu cần.

Tùy chọn khác (cả cho PuTTY và plink) là tạm dừng ở phía xa. Ví dụ. Sử dụng lệnh read.

avahi-daemon ... ; read 
+0

Cảm ơn bạn đã trả lời của bạn :) Nếu tôi chạy lệnh trong vòng lặp vô hạn, sẽ vẫn không có cách nào để giữ cửa sổ trình bao mở không? Đọc sẽ chỉ dừng lại các cửa sổ đó, tôi không muốn điều đó. Tôi muốn nhận nhật ký cho ứng dụng điều vòng lặp vô hạn đó. – mkkhedawat

+1

Như tôi đã viết, phiên sẽ đóng ngay sau khi lệnh kết thúc. Một lệnh vòng lặp vô hạn không bao giờ kết thúc. Vì vậy, phiên/cửa sổ không bao giờ đóng. –

+0

Không, nó có trong trường hợp của tôi. Tôi có thể làm điều gì sai. Làm thế nào để kiểm tra, đề nghị nào? – mkkhedawat

3

Theo đề nghị của Martin tôi đã cố gắng bước này:

  1. putty.exe -ssh 172.17.0.52 gốc -l -m dummy.txt -t

  2. thêm/bin/bash ở cuối các lệnh trong dummy.txt

Nó làm việc cho tôi. Xin lưu ý, bạn phải làm theo cả hai bước như đã đề cập ở trên. Bằng cách này, bạn có thể giữ phiên còn sống và có thể thực hiện các lệnh khác theo cách thủ công.

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