Назад | Перейти на главную страницу

Почему мой сервер сообщает об ошибке «Нет такого файла или каталога» для файла, который явно существует

ritwik@indus ~/perforce $ ls
p4d
ritwik@indus ~/perforce $ ./p4d 
-bash: ./p4d: No such file or directory

Вы правильно поняли проблему? Почему это происходит ? Как мне это исправить?

ritwik@indus ~/p4 $ ls -q
p4d
ritwik@indus ~/p4 $ ls -b
p4d

Если ваш двоичный файл был запущен в другой системе (может быть, в 32-битной системе?) И у вас 64-битная система, у вас, вероятно, не установлена ​​32-битная поддержка. У вас есть 64-битная версия того же программного обеспечения?

Смотрите также: https://unix.stackexchange.com/questions/13391/getting-not-found-message-when-running-a-32-bit-binary-on-a-64-bit-system/13409#13409

Если это сценарий оболочки, проверьте окончания строк в файле. Если есть окончания строки DOS, возможно, строка интерпретатора не понимается.

dos2unix p4d

Мне кажется, у вас есть пробел в имени файла. Что ты получишь, запустив это?

find . -name *p4d* -exec echo \"{}\" \;

Я предполагаю, что это будет что-то вроде "./p4d " (обратите внимание на пробел перед конечной цитатой). Если это так, вы можете исправить это, запустив

mv p4d* p4d