Как объединить переменную с элементом массива

Чего я хочу добиться, так это автоматической установки пакетов NPM, поэтому я создал отдельную переменную, которая содержит "sudo npm install" и выполняет итерацию по массиву с именем пакета. При обнаружении ошибки эта команда не найдена, но если я вставлю ее в консоль, она сработает.

npm_base='sudo npm install '
npm_scripts=("-g eslint")

for element in ${npm_scripts[@]}
do
    ${npm_base}${element}
done
2
задан 22 June 2018 в 10:34

1 ответ

Вы очень близки.

Вам нужно добавить двойные кавычки вокруг массива, в противном случае -g и eslint будут разделены.

npm_base='sudo npm install'
npm_scripts=("-g eslint")

for element in "${npm_scripts[@]}"
do
    ${npm_base} ${element}
done

См. https://www.cyberciti.biz/faq/bash-for-loop-array/

.
2
ответ дан 22 June 2018 в 10:34

Другие вопросы по тегам:

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