Để tránh phải nhập đường dẫn tuyệt đối vào một lệnh, shell đã giới thiệu $PATH
biến môi trường, mỗi thư mục được phân tách bằng a :
và các tìm kiếm được thực hiện từ trái sang phải. cron
thường xóa toàn bộ môi trường, bao gồm cả $PATH
biến này . Do đó, tập lệnh có thể hành xử khác nhau trong cron của bạn so với hành vi trong trình bao.
Sử dụng đường dẫn tuyệt đối
Chạy which db2
như db2inst1
người dùng để có được đường dẫn đầy đủ cho db2
chương trình. Nếu đầu ra là /usr/bin/db2
, lệnh cron của bạn sẽ như sau:
/usr/bin/db2 connect to myDB2
Đặt biến PATH
Chạy echo "$PATH"
với tư cách db2inst1
người dùng để lấy $PATH
biến và đảm bảo biến này cũng có sẵn trong tập lệnh cron của bạn. Ví dụ: nếu đầu ra là /usr/local/bin:/usr/bin:/bin
, bạn sẽ đặt dòng tiếp theo vào đầu tập lệnh shell của bạn:
export PATH="/usr/local/bin:/usr/bin:/bin"