Tôi có một kịch bản thực hiện một số điều khác nhau, hầu hết trong số đó không yêu cầu bất kỳ đặc quyền đặc biệt nào. Tuy nhiên, một phần cụ thể, mà tôi đã chứa trong một hàm, cần có quyền root.
Tôi không muốn yêu cầu toàn bộ tập lệnh chạy dưới quyền root và tôi muốn có thể gọi hàm này, với quyền root, từ bên trong tập lệnh. Nhắc nhở mật khẩu nếu cần thiết không phải là vấn đề vì dù sao nó cũng tương tác. Tuy nhiên, khi tôi cố gắng sử dụng sudo functionx
, tôi nhận được:
sudo: functionx: command not found
Như tôi dự đoán, export
đã không tạo ra sự khác biệt. Tôi muốn có thể thực thi chức năng trực tiếp trong tập lệnh hơn là phá vỡ nó và thực thi nó như một tập lệnh riêng biệt vì một số lý do.
Có cách nào để tôi có thể làm cho chức năng của mình "hiển thị" thành sudo mà không cần giải nén nó, tìm thư mục phù hợp và sau đó thực thi nó dưới dạng một tập lệnh độc lập không?
Hàm này dài khoảng một trang và chứa nhiều chuỗi, một số trích dẫn kép và một số trích dẫn đơn. Nó cũng phụ thuộc vào một chức năng menu được định nghĩa ở nơi khác trong tập lệnh chính.
Tôi chỉ mong ai đó có sudo ANY có thể chạy chức năng này, vì một trong những điều nó làm là thay đổi mật khẩu.
declare
chúng cũng vậy.