Tôi đang quản lý rất nhiều trang web drupal và cố gắng tự động hóa một số nội dung bằng cách sử dụng drush. Drush chạy các cuộc gọi drush cục bộ trên máy chủ từ xa thông qua ssh bằng các tùy chọn được chỉ định trong cấu hình cho bí danh trang web. Tôi đang thực hiện khá nhiều cuộc gọi này, vì vậy để tăng tốc độ, tôi sử dụng các kết nối ssh liên tục với ssh config như vậy:
Host *
# see http://www.revsys.com/writings/quicktips/ssh-faster-connections.html
ControlMaster auto
ControlPath ~/tmp/%r@%h:%p
ControlPersist 3600
Tôi tăng tốc, nhưng tôi cũng nhận được tin nhắn như vậy:
$ drush @alias drupal-directory webform
/var/local/www/example.com/htdocs/sites/all/modules/contrib/webform
Shared connection to 12.34.56.78 closed.
Thông báo về kết nối được chia sẻ là trên thiết bị xuất chuẩn, cùng với đầu ra mà tôi muốn (nghiêm túc? Tại sao không phải là stderr?), Vì vậy nó gây ra vấn đề khi tôi cố gắng nắm bắt đầu ra trong các tập lệnh của mình:
directory=$(drush @$alias drupal-directory $module)
Tôi hy vọng kết nối chính là kết nối tôi đã mở và nó không giống như kết nối. Vì vậy, có lẽ drush rõ ràng làm cho kết nối mới này thành một kết nối chính và đóng nó? Trong mọi trường hợp, có cách nào để chặn thông báo về việc đóng kết nối không?
[Vấn đề này là trong một bối cảnh drupal / drush, nhưng tôi nghĩ rằng về cơ bản là về ssh. Đây có phải là trang web phù hợp không?]
BIÊN TẬP:
Có vẻ như vấn đề là cụ thể nơi -t
sử dụng tùy chọn ssh. Tôi đang sử dụng điều này bởi vì mật khẩu svn cần phải được nhập tại nhiều điểm khác nhau và không có -t
mật khẩu nhắc nhở sẽ không được hiển thị. Có lẽ có một cách khác để ngăn chặn những lời nhắc nhở bị mất?
directory=$(drush @$alias drupal-directory $module | grep -v "Shared connection to")
là đủ?