Я скопировал некоторые файлы в 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
, поэтому я не уверен, что неправильно.
varscore_pipeline
- это скрипт на Python. Он начинается со строки shebang , которая указывает на интерпретатора, который должен выполнить скрипт. Путь к интерпретатору - usr/bin/python2.6
, и этот файл не существует.
#!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 существует! для большего количества объяснений.
Проверьте, не содержит ли рассматриваемый файл символы CRLF (видимые как ^ M в vi
), то есть последовательности символов конца строки в стиле DOS. Иногда они не видны в различных терминалах / редакторах, в то время как bash пытается запустить скрипт с интерпретатором, подобным /bin/bash^M
, который не существует, поэтому возникает ошибка.