2

Я использую часть программного обеспечения (QIIME), которая использует собственную подоболочку для запуска команд:

Вы больше не печатаете macqiime перед командами QIIME! Вместо этого вы просто набираете "macqiime" один раз, когда начинаете новый сеанс терминала. Это запустит новый подоболочек с исходными переменными среды QIIME.

Как только вы это сделаете, вы можете запустить все команды qiime, которые вы хотите, без команды "macqiime".

Я разрабатываю скрипт bash, который автоматически запускает задания и который должен автоматически запускать скрипт в среде QIIME. Я знаю, как сделать это вручную из командной строки (как описано выше); однако я не знаю, как сделать это автоматически из скрипта bash.

Может кто-нибудь помочь? Спасибо!

РЕДАКТИРОВАТЬ:

вы можете найти решение для того, что я пытаюсь сделать, прочитав раздел « Продвинутый взлом MacQIIME »

1 ответ1

1

Вы хотите запустить скрипт, используя macqiime в качестве интерпретатора.
Это то, что вы можете указать с помощью #! в первой строке.

Запустите ваш скрипт с первой строки (с реальным путем):

#!/path/to/macqiime

Если не ясно, где находится PATH , но она находится в PATH , вы можете использовать

#!env macqiime

в качестве первой строки - это должна быть действительно первая строка, без пустых строк и без комментариев.

добавление

Оказалось, что команда macqiime не может быть использована, как описано выше, см. Ниже, как она используется. Но то, что он не работает так, как это, кажется, не имеет другой причины, кроме того, что это очень минимальный скрипт, который просто не реализует чтение из stdin.

Так что в общем случае для других программ, которые ведут себя так, как описано в вопросе, ответ выше должен применяться.

В особом случае с macqiime в документации объясняется, что нужно делать для использования этого программного обеспечения в стиле интерпретатора оболочки:

Вы должны написать свой собственный скрипт с чем-то вроде:

#!/bin/bash
source /macqiime/configs/bash_profile.txt
align_seqs.py -i "$@"

Если скрипт называется qiime_script вы можете вызвать его из командной строки с помощью: qiime_script options где опции передаются в $ 1, $ 2 и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .