Tôi đang cài đặt ghc 6.12.3 và Ubuntu 11.04 trên máy tính xách tay của mình.Chạy lệnh sudo trong Haskell
Tôi muốn có một hàm thực hiện một số lệnh shell và thực thi chúng như superuser (như sudo update-manager, sudo iwlist ....) trong Haskell. Tôi biết rằng mô-đun System.Process có một số chức năng như createProcess, runInteractiveCommand. Nhưng có cho một lệnh thô duy nhất hoặc một lệnh shell đơn, không cho các dấu phẩy phức tạp như "sudo update-manager". Tất cả các thử nghiệm của tôi về các chức năng đó để thực thi "sudo ..." đều thất bại. Các thiết bị đầu cuối tôi sử dụng để chạy chức năng haskell của tôi không có phản ứng.
Tôi cũng đã xem gói HSH. Nhưng có vẻ như với tôi rằng các hàm được xuất khẩu cũng không tốt cho các lệnh sudo.
Đoán của tôi là thực hiện các lệnh như "sudo update-manager" yêu cầu hai quy trình. Một là dành cho "sudo" và một là "update-manager". Vì vậy, tôi cần phải gọi các chức năng như "createProcess" hai lần và bằng cách nào đó kết nối chúng để quá trình thứ hai cho "update-manager" nhận đặc quyền superuser từ quá trình đầu tiên cho "sudo".
Cảm ơn bạn đã trợ giúp!
'updateManager' là đối số' sudo'.'sudo' sẽ đọc tất cả các đối số của nó và tạo một dòng lệnh mới trong số chúng. – fuz
Hiển thị cho chúng tôi mã bạn đã thử không hoạt động. Từ mô tả của bạn, nó phải có tác dụng. – dave4420
Thats có lẽ không phải là một ý tưởng tốt. Tốt hơn là để giảm mức độ của bạn thay vì nâng nó – alternative