Khi tôi đặt sudo "export PROXY_LOCAL_NET_IP = 10.113.35.108" Tôi gặp lỗi sau:
sudo: export: command not found
Tôi nên làm gì để giải quyết vấn đề này?
Khi tôi đặt sudo "export PROXY_LOCAL_NET_IP = 10.113.35.108" Tôi gặp lỗi sau:
sudo: export: command not found
Tôi nên làm gì để giải quyết vấn đề này?
Câu trả lời:
Bạn không thể sử dụng nội dung shell với sudo
. Chỉ lệnh tương ứng với các tệp hợp lệ sẽ được thực hiện thông qua sudo
. Cú pháp đúng cho sudo là:sudo [options] [filename]
Xuất khẩu là một lệnh bên trong (dựng sẵn) của shell Bash và có thể một số khác nữa.
Ngoài ra, lưu ý rằng không có ý nghĩa để thực hiện hành động export
thông qua sudo
, nó phải được thực hiện theo id người dùng của bạn để áp dụng cho trình bao của bạn và các quy trình con của nó.
Nếu bạn chuyển sang người dùng root để làm điều này, bạn sẽ phải thực hiện phần còn lại của hoạt động là root: điều này không được khuyến khích . Bởi vì nếu bạn thoát khỏi vỏ gốc, việc gán được thực hiện export
sẽ bị mất.
Trở thành người dùng root với sudo -s
và mật khẩu của bạn.
Sau đó nhập lệnh của bạn mà không cần sudo: export PROXY_LOCAL_NET_IP = 10.113.35.108`
Bạn có thể sử dụng tùy chọn sudo -E để sử dụng biến được xuất trong lệnh sudo
Câu hỏi stackoverflow sau đây có một số chi tiết bổ sung về cách sử dụng biến môi trường với sudo