Vui lòng đọc toàn bộ câu trả lời trước khi cố gắng chạy với sudo
Thử chạy sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
Lệnh sudo thực thi các lệnh theo sau nó với các đặc quyền 'superuser' hoặc 'root'. Điều này sẽ cho phép bạn thực thi hầu hết mọi thứ từ dòng lệnh. Điều đó nói rằng, ĐỪNG LÀM ĐIỀU NÀY! Nếu bạn đang chạy một tập lệnh trên máy tính của mình và không cần nó để truy cập vào các thành phần cốt lõi của hệ điều hành (tôi đoán bạn không phải vậy vì bạn đang gọi tập lệnh trên một cái gì đó bên trong thư mục chính của bạn (~ /)), thì nó sẽ chạy từ thư mục chính của bạn, tức là:
~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
Di chuyển nó đến ~ / hoặc một thư mục con và thực thi từ đó. Bạn sẽ không bao giờ gặp vấn đề về quyền ở đó và sẽ không có nguy cơ nó truy cập hoặc sửa đổi bất kỳ thứ gì quan trọng đối với hệ điều hành của bạn.
Nếu vẫn gặp sự cố, bạn có thể kiểm tra quyền trên tệp bằng cách chạy ls -l
trong cùng thư mục với tập lệnh ruby. Bạn sẽ nhận được một cái gì đó như thế này:
$ ls -l
total 13
drwxr-xr-x 4 or019268 Administ 12288 Apr 10 18:14 TestWizard
drwxr-xr-x 4 or019268 Administ 4096 Aug 27 12:41 Wizard.Controls
drwxr-xr-x 5 or019268 Administ 8192 Sep 5 00:03 Wizard.UI
-rw-r--r-- 1 or019268 Administ 1375 Sep 5 00:03 readme.txt
Bạn sẽ nhận thấy rằng tệp readme.txt nói -rw-r--r--
ở bên trái. Điều này cho thấy các quyền cho tệp đó. 9 ký tự từ bên phải có thể được chia thành các nhóm gồm 3 ký tự 'rwx' (đọc, viết, thực thi). Nếu tôi muốn thêm quyền thực thi vào tệp này, tôi sẽ thực thi chmod 755 readme.txt
và phần quyền đó sẽ trở thành rwxr-xr-x
. Bây giờ tôi có thể thực thi tệp này nếu tôi muốn bằng cách chạy ./readme.txt
(./ nói với bash để tìm trong thư mục hiện tại cho lệnh dự định thay vì tìm kiếm biến $ PATH).
schluchc ám chỉ việc xem trang người đàn ông cho chmod, hãy làm điều này bằng cách chạy man chmod
. Đây là cách tốt nhất để lấy tài liệu về một lệnh nhất định,man <command>