Vỏ tương tác với môi trường giống hệt cron


10

Tôi nhận thức được rất nhiều cạm bẫy trong thế giới ma thuật của crontabs, nhưng đôi khi nó sẽ giúp khắc phục sự cố rất nhiều khi bạn có một cách thông minh để nhập shell (bash) với môi trường giống hệt như khi kịch bản shell được chạy từ một crontab.

Bây giờ tôi nghĩ bản thân mình /bin/openvt -c8 -- /bin/bash --noprofile -l, nhưng nó đòi hỏi quyền root, đặt quá nhiều biến và một su myusernamebộ đơn giản có rất nhiều môi trường bổ sung.

Bất cứ ai cũng biết một cách để bắt đầu một bash shell tương tác với sự mở rộng giống hệt với cron và không yêu cầu quyền root trên Kubfox?

Phần thưởng khi nó hoạt động trong phiên ssh, trong GUI và trên một hoặc nhiều hệ điều hành sau: HP-UX, Solaris và AIX

Câu trả lời:


14

Chạy crontab -evà thêm một mục với

* * * * * export -p > ~/cron-env

(nếu trên Solaris hoặc một hệ thống không sử dụng trình bao POSIX để diễn giải dòng lệnh đó, hãy sử dụng /usr/xpg4/bin/sh -c 'export -p > ~/cron-env'hoặc bất kỳ đường dẫn nào đến tiêu chuẩn shnằm trên hệ thống đó).

Đợi một phút và loại bỏ dòng đó.

Bây giờ bạn sẽ có một cron-envtập tin trong thư mục nhà của bạn.

Sau đó bạn có thể chạy:

cd && env -i sh -c '. ./cron-env; exec sh'

Để bắt đầu một shell với môi trường giống như công việc định kỳ của bạn đã có.


Thật thú vị, sẽ kiểm tra nó khi tôi trở lại trong khoảng một giờ.
jippie

Rực rỡ, hoạt động như một giấc mơ!
jippie

Câu trả lời xuất sắc nhất. Tôi sẽ bỏ phiếu nhiều hơn một lần nếu tôi có thể.
Sukima

2

Cron không phải là một vỏ tương tác, vì vậy đó là vấn đề đầu tiên của bạn. Nó hầu như không thể biết được.

Thực tế là: biến môi trường. Nhìn vào các tiêu đề từ một thư điện tử để tìm chúng, sau đó đặt các biến trong trình bao của bạn để khớp với chúng và bỏ đặt tất cả các biến còn lại.

Bây giờ bạn khá gần với một môi trường như cron thấy nó.


Không bao giờ nhận thấy các tiêu đề thư có chứa một số môi trường, theo mặc định Thunderbird ẩn chúng khỏi người dùng. Thật không may, các tiêu đề không thể hiện hoàn thành môi trường hoàn chỉnh.
jippie
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.