Thực thi tập lệnh đơn giản


2

Tôi đã viết kịch bản rất đơn giản sau đây:

tuyến -n thêm 192.168.0.0/20 192.168.224.1
tuyến -n xóa 0.0.0.0
tuyến -n thêm 0.0.0.0 172.20.10.1

Và tôi chỉ cần nhấp đúp vào nó và bạn biết ... chạy nó ... trên windows 8 tôi chỉ cần lưu dưới dạng .batvà nhấp chuột phải vào nó -> chạy với tư cách quản trị viên ... Làm thế nào tôi có thể đạt được hành vi tương tự trong mac osx (phiên bản mới nhất)?

Thêm điểm nếu tôi chỉ có thể nhấp đúp vào nó (cắt chạy ở chế độ nâng cao)

Câu trả lời:


4

Thay vì .bat, lưu nó dưới dạng .command.

Một tệp .command sẽ chạy nội dung của tệp trong Terminal khi nhấp đúp chuột, giống như một .bat sẽ làm trên Windows.

Nếu bạn không thể chạy tệp vì bạn không có quyền thực thi tệp lệnh, bạn cần đặt 'thực thi' trên tệp để cho phép bạn chạy tệp đó:

chmod u+x /path/to/file.command

ulà chủ sở hữu của tệp, +xthêm 'thực thi', do đó u+xcung cấp cho chủ sở hữu tệp khả năng thực thi tệp

Và với các lệnh như quản trị viên, OS X luôn yêu cầu bạn nhập mật khẩu quản trị viên. Đối với tập lệnh của bạn, cách dễ nhất để thực hiện việc này là chạy tập lệnh với tư cách là người dùng quản trị viên và thay đổi tập lệnh thành như sau:

sudo route -n add 192.168.0.0/20 192.168.224.1
sudo route -n delete 0.0.0.0
sudo route -n add 0.0.0.0 172.20.10.1

sudolà viết tắt của Thay thế người dùng DO và chạy theo root theo mặc định. Nó có khả năng sudosẽ yêu cầu mật khẩu của bạn.


Sắp đến rồi! vấn đề cấp phép chặn ngay bây giờ! có ý kiến ​​gì không và vâng tôi thuộc nhóm quản trị viên
Leonardo

@Leonardo Hãy chắc chắn rằng bạn có quyền thực thi; xem câu hỏi này
grg

Các vấn đề về quyền có khả năng xảy ra trên routelệnh - nó cần quyền sudo để chạy. Hãy thử tiền tố từng dòng sudo -Ađể nhận được lời nhắc tương tác cho mật khẩu của bạn.
Ian C.

@ ian-c, khi tôi làm $, sudo -A datenó sẽ trả về:sudo: no askpass program specified, try setting SUDO_ASKPASS
CousinCocaine

Bỏ qua -A- Tôi nghĩ OS X có ứng dụng người hỏi tích hợp.
Ian C.
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.