Điểm:1

Lỗi định dạng Exec với định dạng tệp "dữ liệu"

lá cờ cn

Có ai biết tại sao nó báo lỗi định dạng khi tôi cố chạy không tiếng vang xuyên qua /bin/tiếng vang hoặc /usr/bin/echo nhưng hoạt động tốt nếu tôi chỉ gõ tiếng vang trong dòng lệnh

bash: /usr/bin/echo: không thể thực thi tệp nhị phân: Lỗi định dạng Exec

Đầu ra tập tin /bin/echo

/bin/echo: dữ liệu

Cái gì vậy dữ liệu định dạng tệp tại sao tôi không thể thực thi nó.

Đây là ảnh chụp màn hình, Ảnh chụp màn hình

lá cờ hr
Khi bạn chỉ cần gõ `echo` trong dòng lệnh, rất có thể bạn sẽ nhận được lệnh thực hiện tích hợp sẵn trong shell tương tác của mình.
Mr Syhd avatar
lá cờ cn
@steeldriver nhưng khi tôi chạy " which echo " thì đầu ra là /usr/bin/echo, tôi cũng có thể tạo tập lệnh echo bên trong thư mục bin giống như cách triển khai tích hợp không? để nó không gây ra lỗi thực thi cho tôi
lá cờ hr
`/bin/echo` sẽ hoạt động - có vẻ như tệp đã bị hỏng. Có lẽ bạn có thể khắc phục bằng cách cài đặt lại gói `coreutils`.
Mr Syhd avatar
lá cờ cn
@steeldriver cảm ơn, cài đặt lại gói coreutils sẽ khắc phục sự cố
Mr Syhd avatar
lá cờ cn
@steeldriver nhưng có điều gì đó khiến tôi bận tâm, bạn vừa nói `echo` trong dòng lệnh có thể là bản cài đặt sẵn, nhưng tại sao khi tôi chạy ` which echo` thì đầu ra là `/usr/bin/bash` đó là tập tin có vấn đề, bạn có biết tại sao?
lá cờ hr
Không, tôi không biết tại sao - tôi cho rằng ` which echo` sẽ xuất ra `/usr/bin/echo` (hoặc `/bin/echo` trên hệ thống pre-usrmerge). FYI ` which` sẽ chỉ hiển thị cho bạn các tệp thực thi bên ngoài - thay vào đó hãy thử ` gõ -a echo`. Xem thêm [Tại sao không dùng " which"? Sau đó sử dụng cái gì?](https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then)
Mr Syhd avatar
lá cờ cn
@steeldriver ồ tôi hiểu rồi, cảm ơn vì câu trả lời
Mr Syhd avatar
lá cờ cn
lol vâng, đầu ra phải là /usr/bin/echo, lỗi đánh máy
Điểm:4
lá cờ in

có khả năng là một cái gì đó sai với của bạn /bin/tiếng vang, vì bạn sẽ nhận được một cái gì đó như thế này khi chạy tập tin trên đó:

/bin/echo: Đối tượng chia sẻ LSB 64 bit ELF, x86-64, phiên bản 1 (SYSV), được liên kết động, trình thông dịch /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=714b557112010bbcd04b0e5e6efc1b106166733c, cho GNU/Linux 3.2.0, bị loại bỏ

Chúng tôi có thể thấy điều đó coreutils là gói được cho là cung cấp /bin/tiếng vang bằng cách chạy:

dpkg -S /bin/echo

Và cuối cùng, bạn có thể kiểm tra để đảm bảo rằng không có tệp nào trong gói bị sửa đổi hoặc bị hỏng bằng cách chạy:

sudo apt cài đặt debsums
debsums coreutils

Nếu bất kỳ tệp nào bị hỏng, bạn có thể cài đặt lại chúng bằng cách sử dụng:

sudo apt cài đặt coreutils --reinstall
Mr Syhd avatar
lá cờ cn
câu trả lời chi tiết, cảm ơn!!

Đă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.