Как избежать этапа интерактивного текстового интерфейса во время установки пакета?

Если я вас правильно понял, все, что вы ищете, это {1/}вместо {1}. Это «базовое имя» аргумента. См. man parallel _tutorial и обсуждение --rpl, где мы видим, что строки замены реализованы как

     --rpl '{/} s:.*/::'

и Строки позиционной замены также можно изменить с помощью/и т. д. Так что {1/}похоже на удаление всех символов до финального /.


Вы можете создать свои собственные сокращенные строки замены, используя --rpl, за которой следует строка, начинающаяся с тега ({/}в приведенном выше примере ), а затем выражение Perl, такое как приведенная выше команда замены(s:образец:замена:).

Я не уверен, что разрешено использовать в качестве тегов, но мы можем использовать учебный пример {..}для позиционного тега, т.е. его можно использовать с{числом}. Perl-выражение для удаления всего до последнего /, за которым следует слово «Образец _», будет :s:.*/Sample_::, поэтому вам нужно добавить перед --xapplyаргументы

--rpl '{..} s:.*/Sample_::'

, а затем используйте --id={1..}, чтобы применить эту замену к arg 1. Если, например, вы хотите удалить слово до первого подчеркивания _, а не фиксированное слово Sample, вы можете использовать такой шаблон, как

--rpl '{..} s:.*/[^_]*_::'

Последняя команда должна выглядеть примерно так:

parallel -j $NSLOTS --rpl '{..} s:.*/Sample_::' --xapply \
" echo {1}  \
/home/rob2056/software/cellranger-2.2.0/cellranger count --id={1/} \
                   --id2={1..} \
           --transcriptome=$ref_data \
           --fastqs={1} \
 " ::: $TMPDIR/FASTQ/Sample* 

-1
30.12.2020, 21:38
1 ответ

Я использую следующую команду apt -get со следующими параметрами в сценариях, чтобы указать apt и dpkg не запрашивать подтверждение и другие параметры, здесь это тоже должно работать:

DEBIAN_FRONTEND=noninteractive apt-get -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" install <package>
1
18.03.2021, 22:40

Теги

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