-bash: test.out: không tìm thấy lệnh


0

Tôi có một dự án Visual Studio 2017 C ++ triển khai cho Beaglebone Black 9.2.

Tôi có thể chạy nó trong chế độ gỡ lỗi và xem đầu ra trong bàn điều khiển.

Tôi có thể SSH vào thiết bị và chạy nó từ đường dẫn /home/steve/projects/BBB2/bin/ARM/Debug/BBB2.out

nhưng khi tôi ở trong thư mục đó và cố gắng chạy nó bằng cách sử dụng BBB2.outtôi nhận được một -bash: BBB2.out: command not foundtin nhắn.

Tại sao vậy?

Câu trả lời:


1

Có khả năng thư mục tệp BB2.out của bạn không nằm trong đường dẫn của hệ thống. Bạn có thể vượt qua điều này bằng cách thêm vào ./lệnh ( ./BB2.out) khi bạn chạy nó.

Thay phiên, bạn có thể thêm thư mục hiện tại vào đường dẫn của mình để hệ thống luôn nhận ra thư mục bạn đang ở có thể chạy các tệp thực thi.

Điều này sẽ thêm thư mục hiện tại vào cuối đường dẫn:

export PATH=$PATH:.

Tuy nhiên, có một rủi ro bảo mật tiềm ẩn ở đây như được ghi lại trong faq unix này .


Điều này không hoạt động. Tôi là một người chơi windows nên thật khó hiểu tại sao nó không thể tìm thấy tệp trong thư mục mà tôi hiện đang ở. Có vẻ như rắc rối khi thêm mọi thư mục vào PATH, vì vậy tôi đoán đây là cách thực hành chuẩn để chạy thực thi mà không được cài đặt?
dùng3953989

1
Thủ tục thực thi dot-slash là khá chuẩn. Rất nhiều người dùng linux tại nhà sẽ sử dụng export PATHdòng này, do đó, bất kỳ thư mục nào họ hiện đang ở sẽ được đưa vào đường dẫn. Một tùy chọn người dùng khác là tạo một thư mục bin trong thư mục người dùng của bạn (/ home / usernam / bin) và đặt tất cả các tệp thực thi ở đó. Vì lý do tại sao, các hệ thống * nix mong đợi các tệp nhất định ở một số vị trí nhất định - các tệp nhị phân (tệp thực thi) thường nằm trong một binthư mục (tất nhiên có thể là /binhoặc /usr/bin). Thông tin hệ thống tệp
mcalex
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.