Điểm:-2

Vấn đề về Bash Scripting

lá cờ ru

Xin chào, tôi bị lạc, xin lỗi, tôi không biết tại sao tập lệnh của mình không chạy

kịch bản của tôi là: echo "hi"

khi tôi gõ: sudo ./my.sh

nó cho thấy: không thể thực hiện my.sh: không có tệp hoặc thư mục như vậy treo lên

và khi tôi gõ: ./my.sh

nó cho thấy: -bash: ./my.sh: bin/bash: thông dịch viên kém: không có tệp hoặc thư mục như vậy

thật tuyệt nếu bạn có thể giúp tôi cảm ơn bạn rất nhiều

guiverc avatar
lá cờ cn
Bạn chưa cung cấp bất kỳ chi tiết phát hành & hệ điều hành nào; và tập lệnh của bạn không có *shebang* cho hệ thống biết đó là loại tập lệnh nào và sử dụng trình thông dịch/shell nào để thực thi tập lệnh đó. Bạn đã làm cho nó thực thi được?
lá cờ hr
Có vẻ như tập lệnh của bạn **không** chỉ là `echo "hi"`, mà có dòng `#!` - được viết sai với đường dẫn tương đối `#!bin/bash` thay vì đường dẫn tuyệt đối `#! /bin/bash`
karel avatar
lá cờ sa
Điều này có trả lời câu hỏi của bạn không? [bin/bash: trình thông dịch kém: Không có tệp hoặc thư mục như vậy](https://askubuntu.com/questions/1158577/bin-bash-bad-interpreter-no-such-file-or-directory)
Điểm:1
lá cờ jp

Ba thứ:

  1. Tại sao sudo? Tại thời điểm này, bạn không muốn chạy tập lệnh của mình với quyền root.

  2. Tất cả các tập lệnh của bạn cần bắt đầu với trình thông dịch ở dòng đầu tiên Đó là dấu nhận xét theo sau là dấu chấm than. (Các "Shebang") Đối với bash, kịch bản của bạn sẽ như thế này:

    #!/bin/bash

    lặp lại "chào"

  3. Bạn nên làm cho tập lệnh của mình có thể thực thi được với chmod 700 myscript.sh. Chỉ khi đó bạn mới có thể thực hiện chúng như thế này ./myscript.sh

Trên một lưu ý liên quan, đây không phải là một câu hỏi cụ thể về Ubuntu, mà là một câu hỏi về kịch bản chung.

Yarin Levy avatar
lá cờ ru
tôi đã sử dụng Shebang xin lỗi tôi đã không đề cập đến. Ngoài ra, tôi cũng đã cấp quyền phù hợp. Cảm ơn bạn vì câu trả lời
lá cờ jp
Bạn có thể thực thi `whereis bash` không?
pLumo avatar
lá cờ in
Sử dụng `chmod +x` thay vì `chmod 700` sẽ không ảnh hưởng đến quyền đọc và ghi cũng như quyền nhóm/các quyền khác
Điểm:0
lá cờ pl

/usr/bin/bash $HOME/my.sh

Hãy thử điều này và xem sự khác biệt, có thể bạn không ở đúng thư mục để thực thi một tệp. đĩa CD hoặc pwdls để đảm bảo những gì bạn đang làm.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.