Передайте простую строку в качестве аргумента команды в сценарии bash [дубликат]Linux

Ответить Пред. темаСлед. тема
Anonymous
 Передайте простую строку в качестве аргумента команды в сценарии bash [дубликат]

Сообщение Anonymous »

Я пытаюсь написать простой bash-скрипт для установки пакетов с использованием zypper.
Скрипт должен считывать имена пакетов zypper построчно из файла packages.txt, помещать их в массив и устанавливать. .
Единственная проблема заключается в том, что хотя он правильно считывает имена пакетов (строки) из файла, он не передает их в команду должным образом.
Основной скрипт bash:
#!/bin/bash

#Force exit on ERR occurence
set -e

#Error handler to call on ERR occurence
error_handler(){
echo "An error occured! Error code: $?"
}
trap "error_handler" ERR

#Function for retrieving package names as strings and invoking their installation using zypper
install_packages(){
packages=()
index=1
#refresh repos
echo -n "["$index"] Refreshing zypper repositories: "
zypper -n refresh > /dev/null 2>&1
echo 'OK'
#read package names from file
while IFS= read -r line || [[ -n "$line" ]]; do
packages+=("$line")
done < "$1"

#loop through packages() array and install them
for line in "${packages[@]}"; do
zypper -n install "$line"
done
}
install_packages "./packages.txt"

Содержимое «файла packages.txt»:
docker
docker-compose

Результаты запуска скрипта:
[1] Refreshing zypper repositories: OK
Loading repository data...
Reading installed packages...
' not found in package names. Trying capabilities.
' found.der of 'docker


Подробнее здесь: https://stackoverflow.com/questions/787 ... ash-script
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»