Khi tôi sử dụng lệnh drush để làm gì đó trên máy từ xa, tôi nhận được thông báo sau:
bash: drush: lệnh không tìm thấy
Có vấn đề gì vậy?
Khi tôi sử dụng lệnh drush để làm gì đó trên máy từ xa, tôi nhận được thông báo sau:
bash: drush: lệnh không tìm thấy
Có vấn đề gì vậy?
Câu trả lời:
Thông báo này là từ máy từ xa phàn nàn rằng nó không hiểu nơi nào có thể drush
thực thi được, không phải Drush phàn nàn rằng nó không thể tìm thấy lệnh (phụ) mà bạn có thể đang cố gắng đưa ra, mặc dù dấu câu gợi ý cái sau. (Nếu bash:
có nghĩa Bash đang gửi cho bạn một tin nhắn, thì nó drush:
cũng có nghĩa tương tự - nếu có bất kỳ sự thống nhất nào. Nhưng thực ra nó có ý nghĩa drush:
là chủ đề của tin nhắn, không phải là nguồn của tin nhắn được truyền bash:
cho bạn. Nó sẽ rõ ràng hơn nếu cái thứ hai :
bị loại bỏ.)
Drush đăng nhập vào máy từ xa của bạn qua ssh, nhưng đó không phải là thông tin đăng nhập tương tác thông thường, vì vậy nó không cung cấp nguồn .bash_profile. Tuy nhiên, nó có nguồn tệp .bashrc.
Thêm đường dẫn drush (không bao gồm chính drush, chỉ bao gồm thư mục chứa drush) vào biến PATH trong .bashrc từ xa của bạn và tất cả đều ổn. Ví dụ, có thể trông như thế này:
PATH=$PATH:/usr/local/zend/bin
[ -z "$PS1" ] && return
. Một số nền tảng sử dụng điều này để bảo lãnh nếu chạy trong chế độ không tương tác. Ubuntu, ví dụ, đặt điều này trong .bashrc ban đầu của bạn. Nếu bạn đặt PATH của mình, bạn cần đảm bảo rằng bạn đã đặt nó trước bất kỳ điều kiện nào, chẳng hạn như điều này có thể buộc phải thoát ra sớm.
.bashrc
trước dòng # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
trên Ubuntu 14.04