Hullo iam пытается написать скрипт bash, чтобы клонировать мой репозиторий, а затем запускать тесты с использованием селена. когда я пытаюсь установить селеновые зависимости, особенно когда я запускаю эту команду (Xvfb: 99 -ac & export DISPLAY =: 99) в коде, я получаю сообщение об ошибке (Unrecognized option: &). Это часть моего кодаBash Script не распознает «&»
xvfbb="sudo apt-get install -y xvfb"
enn="Xvfb :99 -ac & export DISPLAY=:99"
magic="sudo apt-get install -y imagemagick"
*#Function to call installation variables*
function seleniumTests() {
$xvfbb
$enn
$magic
echo "done installing dependencies."
}
Я тогда называть выше функции (seleniumTests), когда я закончить клонированию. Любая идея, почему «&» распознается как ошибка?. Спасибо
Да, это способ сделать это _properly_. Но, может быть, команды читаются из текстового файла или поступают из базы данных или аналогичных, поэтому, возможно, они _need_ являются строками. Если это так (требование строки), мой ответ - это решение, иначе я бы предпочел это здесь. – Alfe
Передача произвольного кода как строки сценария, который будет выполняться, является опасной практикой, которой лучше всего избегать. – chepner
Har har ;-) Вызов «произвольной строки» никоим образом не опасен, чем вызов «произвольной функции» (что точно так же опасно). Ваше предупреждение имеет смысл, но не ограничивает его. Если строки заданы непосредственно в сценарии OP, они не являются опасными (не более, чем остальная часть кода). Если код должен поступать из базы данных (или аналогичной), то использование этого в качестве источника кода является проблемой безопасности. – Alfe