У меня есть запрос относительно экспорта пути библиотеки &, который включает в себя для вызова варианта Platypus. Требуется htslib, и platypus установлены на сервере, и у меня нет прав sudo, чтобы их изменить.Экспортировать путь библиотеки и включить в perl
Я пытаюсь использовать следующий код для экспорта библиотеки & для запуска вызывающего. Мне не хватает osmething, потому что я не могу его выполнить?
Код:
#!usr/perl-w
use strict;
use warnings;
`export LIBRARY_PATH=/opt/htslib/lib/`;
`export LD_LIBRARY_PATH=/opt/htslib/lib/`;
`export INCLUDE_PATH=/opt/htslib/include/`;
system ("python /opt/Platypus_0.8.1/Platypus.py callVariants --help");
Любой вид помощи был бы оценен.
Может добавить, что эти свежеприготовленные снаряды сразу отбрасываются. – simbabque
Большое спасибо. Он работал, хотя команда python в системе в рамках одной котировки также отлично работает. Так что я не похож на обложку, о которой вы упомянули. –
Я говорю о оболочках, порожденных для выполнения ваших команд оболочки. Как вы думаете, что команда оболочки, которую вы передаете 'system', выполняется? 'system ($ shell_cmd)' short для 'system ('sh', '-c', $ shell_command)'. Это пустая трата и потенциальный источник проблем. это упрощает добавление уязвимостей для инъекций оболочки. Это усложняет сигнализацию, и это мешает вам точно определить, как вышла «python». Так что нет, это не нормально; это в лучшем случае адекватно. – ikegami