& ldquo; Нет такого файла или каталога & rdquo ;, но файл существует

Я скопировал некоторые файлы в Ubuntu (работает на VirtualBox). Попытка открыть указанные скопированные файлы и получить ошибку. Я не совсем уверен, как работает система файловых каталогов, но я использовал команду cp для копирования одного из файлов. Is (и другие файлы, которые были просто скопированы в папку вручную) отображается в правой папке с помощью команды ls. Но когда я пытаюсь выполнить файл, я получаю следующую ошибку:

qiime@qiime-VirtualBox:~$ usr/bin/varscore_pipeline -bo Desktop/Shared_Folder/VARSCORE/C_albicans.fasta Desktop/Shared_Folder/VARSCORE/tmp/poo.csv
bash: usr/bin/varscore_pipeline: usr/bin/python2.6: bad interpreter: No such file or directory

Когда я запускаю команду ls /usr/bin/, я вижу там файл varscore_pipeline, поэтому я не уверен, что неправильно.

3
задан 28 January 2013 в 05:29

2 ответа

varscore_pipeline - это скрипт на Python. Он начинается со строки shebang , которая указывает на интерпретатора, который должен выполнить скрипт. Путь к интерпретатору - usr/bin/python2.6, и этот файл не существует.

1110 Во-первых, эта строка неверна. Линия Шебанга должна иметь абсолютный путь. Измените #!usr/bin/python2.6 на #!/usr/bin/python2.6.

В зависимости от вашей версии Ubuntu, вы можете иметь или не иметь /usr/bin/python2.6. Если у вас есть только более поздняя версия, такая как 2.7, измените строку shebang на #!/usr/bin/python2. Маловероятно, что программа будет работать с 2.6, но не с 2.7. Версии Python 2.x совместимы вверх. (Но не меняйте на /usr/bin/python3, между Python 2 и Python 3 есть несовместимости.)

См. / bin / sh: ./check-dependencies.pl: не найдено - но проверьте -dependencies.pl существует! для большего количества объяснений.

0
ответ дан 28 January 2013 в 05:29

Проверьте, не содержит ли рассматриваемый файл символы CRLF (видимые как ^ M в vi), то есть последовательности символов конца строки в стиле DOS. Иногда они не видны в различных терминалах / редакторах, в то время как bash пытается запустить скрипт с интерпретатором, подобным /bin/bash^M, который не существует, поэтому возникает ошибка.

0
ответ дан 28 January 2013 в 05:29

Другие вопросы по тегам:

Похожие вопросы: