Como instalar lista de pacotes com o arquivo com comentários

1

Eu quero organizar um grande arquivo de dependências com comentários e novas linhas. Por exemplo:

# Widget 1 dependences
package_a
package_b

# Widget 2 dependencies
package_x
package_y
package_z

Esta linha parecia fazer sentido, mas não entendo por que estou com erro ao não conseguir localizar itens da lista exatamente o que quero imprimir:

E: Unable to locate package f2c gfortran libblas-dev liblapack-dev libpcre3-dev libreadline-dev 

É como se minha lista inteira delimitada por espaço em branco estivesse sendo tratada como um único pacote.

  # Use 'strict mode', because i don't looove debugging
  #!/bin/bash
  set -euo pipefail
  IFS=$'\n\t'

  sudo apt-get install $(grep -vE "^\s*#" my_dependencies | tr "\n" " ")
  echo "$(grep -vE "^\s*#" my_dependencies | tr "\n" " ")"
    
por tarabyte 12.01.2018 / 19:26

2 respostas

0

Quando você traduz o caractere de nova linha, é necessário usar um separador de campo válido no modo bash strict para que a divisão de palavras funcione. separador ou \t é escolhido aqui:

sudo apt-get install $(grep -vE "^\s*#" my_dependencies | tr "\n" "\t")
    
por 19.01.2018 / 01:12
1

Suponho que você tenha alterado o conteúdo da variável IFS . Eu recomendo para redefinir sua variável IFS ao seu padrão:

IFS=$' \t\n'
    
por 12.01.2018 / 22:27