У меня есть строковая переменная, которая содержит цикл.как передать строку команде bash как параметр
loopVariable="for i in 1 2 3 4 5 do echo $i done"
Я хочу передать эту переменную команде bash внутри сценария оболочки. Но я всегда получаю сообщение об ошибке
bash $loopVariable
Я попытался также
bin/bash $loopVariable
Но это также не работает. Бэш обрабатывает строку, дающую мне ошибку. Но теоретически это исполняет. Я не уверен, что я делаю неправильно
bash: for i in 1 2 3 4 5 do echo $i done: No such file or directory
Я также попытался использовать этот подход, используя цикл while. Но получить такую же ошибку
i=0
loopValue="while [ $i -lt 5 ]; do make -j15 clean && make -j15 done"
bash -c @loopValue
, когда я использую Баш -c "@loopValue" я получаю следующее сообщение об ошибке
bash: -c: line 0: syntax error near unexpected token `done'
и когда я использую просто использовать Баш -c @loopValue
[: -c: line 1: syntax error: unexpected end of file
Ваш 'while' цикл должен быть' в то время как [$ я -lt 5]; make make -j15 clean && make -j15; done', (missing ';' before' done') и ваша команда bash: 'bash -c $ loopValue', а не' bash - c @ loopValue'. – SLePort
теперь его предоставление '-c: строка 1: синтаксическая ошибка: неожиданный конец файла –
My bad ...двойная кавычка переменная: 'bash -c '$ loopValue" ' – SLePort