Quyền bị từ chối khi chạy tập lệnh .sh


71
./geany_run_script.sh: 5: ./geany_run_script.sh: ./Area_circumference: Permission denied

program exited with code: 126. Vấn đề này luôn xảy ra khi tôi cố gắng thực thi mã của mình. Điều gì có thể là giải pháp?


1
Permission deniedlỗi chỉ xảy ra nếu bạn không có đủ đặc quyền để truy cập tệp đó.
Avinash Raj

Làm cách nào tôi có thể thay đổi quyền
wkhwilo

Tôi phải làm điều đó ở đâu xin vui lòng cho tôi một ví dụ bắn
wkhwilo

Khi tôi làm điều đó, nó cho tôi biết chmod này: không thể truy cập `geany_run_script.sh ': Không có tệp hoặc thư mục như vậy. Tôi có nên chạy nó từ thiết bị đầu cuối hay không?
wkhwilo

Câu trả lời:


118

Đây là một liên kết giải thích về Thay đổi quyền (và quyền sở hữu)

Nếu bạn muốn bỏ qua những điều này (tất nhiên là bây giờ), bạn có thể tạo một thư mục / thư mục trong thư mục nhà người dùng của bạn và làm việc trên các Cchương trình của bạn (hoặc những người khác) ở đó.


Bạn có thể mở thiết bị đầu cuối (nhấn Ctrl+ Alt+ T) và cdvào thư mục đích:

cd /path/to/target

Để cấp quyền cho tệp "the_file_name" (nếu hệ thống tệp cho phép bạn có quyền RW):

chmod +x the_file_name

Làm cách nào tôi có thể thay đổi quyền bất kỳ ví dụ nào
wkhwilo

Vấn đề làm thế nào tôi có thể làm điều đó? Tôi là một người dùng Ubuntu mới mà tôi mới chuyển từ windows.
wkhwilo

.. thư mục làm việc của bạn tức là gì. vị trí của tệp mã nguồn của bạn là gì? .. bạn có một số kinh nghiệm với windows CLI không?
chính xác

@ wkhwilo-012, hãy xem nếu điều đó có ích và xin đừng ngần ngại hỏi thêm ..
chính xác là

@ wkhwilo-012, vui lòng sao chép tệp thực thi của bạn Area_circumferencevà dán nó (đường dẫn tệp sẽ được dán) để cập nhật nội dung câu hỏi của bạn ...
chính xác vào

20

Bạn chỉ cần cho phép thực thi. Thực hiện theo điều này:

    chmod +x filename.sh
    ./filename.sh

Khi chúng ta tạo tập lệnh mới thì theo mặc định, nó có quyền đọc và ghi. Nhưng nếu chúng ta muốn thực thi chúng, thì chúng ta nên cấp quyền thực thi bằng cách hiển thị ở trên.


2

Mở ứng dụng đầu cuối của bạn bằng cách nhấn CTRL+ ALT+ Thoặc bằng phím tắt ứng dụng trên môi trường đồ họa (như Terminalhoặc xTerm).
Trong cửa sổ thống nhất xuất hiện trên màn hình, bạn sẽ thấy một ký tự nhấp nháy, đó là terminal cursor: chỉ cần nhấp vào cửa sổ và viết để nhập văn bản (thường là các lệnh) và nhấn ENTERđể xác nhận đầu vào.
Trước con trỏ luôn có danh sách vị trí hiện tại của bạn trên hệ thống tệp từ root directory("/") và nhà của bạn (nơi chứa các tệp cá nhân của bạn) được gọi là "~".
Để thay đổi thư mục / thư mục sử dụng cd EXISTENTFOLDER(thay thế EXISTENTFOLDER bằng tên thư mục); nếu bạn cảm thấy bị mất, chỉ cần gõ cdđể trở về thư mục nhà của bạn trong nháy mắt!
Hiện nayhãy giải quyết vấn đề của bạn :

  1. Sử dụng cdlệnh để tìm thư mục với mã nguồn của bạn. Sử dụng TABđể giúp bạn. Nếu bạn thực thi ls -lh, bạn sẽ thấy một danh sách các đường dẫn có thể theo dõi và các tệp để thực thi.

  2. Khi bạn tìm thấy tệp bị chặn thực thi chmod +x FILENAME(thay thế FILENAME bằng tên của tệp mã nguồn của bạn).

  3. Nếu bạn có nhiều tệp bị chặn thực thi chmod +x *để mở khóa tất cả các tệp trong thư mục hiện tại. Không bao giờ chmod + x các tệp nguy hiểm hoặc không an toàn .

  4. Thực thi ./FILENAME YOUREVENTUALARGUMENTSđể thực thi tập tin thực thi của bạn.

  5. Hãy nhớ rằng nếu chương trình được biên dịch của bạn cố gắng đọc / ghi bên ngoài thư mục chính của bạn, bạn sẽ cần phải thực thi nó như rootbằng cách sử dụng sudo ./FILENAME YOUREVENTUALARGUMENTS.

Nếu bạn muốn có một hướng dẫn sử dụng để thực thi lệnh man COMMAND(thay thế LỰA CHỌN bằng tên lệnh chính xác, Linux có phân biệt chữ hoa chữ thường).

Một số shell có một Open terminal herelệnh để đơn giản hóa cuộc sống của bạn, tìm kiếm nó trong tương lai và hãy nhớ rằng shell shell có thể là người bạn tốt nhất của bạn, nếu bạn sử dụng nó tốt. :-CƯỜI MỞ MIỆNG

Đó là tất cả. Nếu bạn cần thêm trợ giúp bình luận dưới đây.
Nếu tôi đang giúp bạn nhấn mũi tên LÊN bên trái; nếu bạn giải quyết đánh dấu câu trả lời này là câu trả lời tốt nhất.

Có một trải nghiệm tốt đẹp trên Linux và Ubuntu.


Cảm ơn rất nhiều. Bây giờ tôi có thể làm việc theo thư mục nhà. Các hoạt động bạn yêu cầu tôi trước đó không thể được cho phép. Nó nói tôi không được phép nhưng dù sao cũng cảm ơn vì lời đề nghị.
wkhwilo
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.