Tôi đang cố gắng để chạy script này trên Mac OS 10.7 (Lion) và tôi nhận được lỗi:Mac OS:/usr/bin/env: thông dịch viên xấu: Hoạt động không được phép
$ bbcolors
-bash: /usr/local/bin/bbcolors: /usr/bin/env: bad interpreter: Operation not permitted
tôi đã chạy thành công tập lệnh này trên các máy Mac khác của tôi. Nó chỉ là this script được tải xuống và chưa được sửa đổi từ Daring Fireball.
Tôi đã tìm thấy this person với một vấn đề rất giống nhưng câu trả lời được chấp nhận là hệ thống tệp có tùy chọn 'không có' trên gắn kết. Tôi khá chắc chắn đó không phải là trường hợp của tôi bởi vì tôi đã có nó trong/usr/local/bin/và các công cụ khác trong đó hoạt động tốt (nó cũng không chạy từ những nơi khác hoặc như người dùng khác bao gồm cả root) .
$ which bbcolors
/usr/local/bin/bbcolors
$ ls -l /usr/local/bin/bbcolors
[email protected] 1 nick staff 9751 Mar 30 19:09 /usr/local/bin/bbcolors
Đó là tập lệnh Perl không phải là tệp nhị phân được biên dịch, không phải là vấn đề. Dưới đây là một số thông tin bổ sung cho những gì nó có giá trị:
$ cat /usr/local/bin/bbcolors |head -n 1
#!/usr/bin/env perl
$ which perl
/usr/bin/perl
$ env | grep PATH
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Bạn đã bao quát hầu hết các cơ sở bình thường cho những gì có thể xảy ra; làm tốt. Điều gì sẽ xảy ra khi bạn chạy 'perl -v'? Điều gì sẽ xuất hiện sau dòng bình luận đầu tiên trong kịch bản Perl ('bbcolors')?Ngoài ra, '@' sau các điều khoản có nghĩa là có một số thông tin thuộc tính auxilliary cho tệp; bạn đã điều tra rằng đó là (có lẽ với 'ls - @')? –
Tôi giải quyết vấn đề với 'xattr -r com.apple.quarantine/file/path' Tôi sẽ trả lời câu hỏi của riêng tôi nhưng tôi không có đủ đại diện để làm điều đó trong vài giờ. – Nick
'xattr -d com.apple.quarantine/usr/local/bin/bbcolors'? ('-r' có nghĩa là 'đệ quy';' -d' có nghĩa là 'xóa'.) Tôi tiếp tục quên lệnh gọi đó là gì. –