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