Tentando executar um arquivo .sh. No entanto, recebo o erro: Configuração ausente: falha na instalação

0

Sou muito novo no Linux, ainda novo no Debian.

Estou rodando um Debian 8.2 vm e tentando executar um arquivo chamado install.sh.

Eu executei os seguintes comandos:

  • sh ./install.sh
  • sh install.sh
  • apt-get install install.sh

Os dois primeiros comandos acima me deram o erro "Configuração ausente: falha na instalação". O terceiro comando me deu a seguinte saída:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package install.sh
E: Couldn't find any package by regex 'install.sh'

Eu executei chmod 700 install.sh para ter certeza de que o arquivo PODE ser executado.

E eu absolutamente não consigo encontrar nada sobre esse tipo de erro. Qualquer ajuda seria ótimo! Obrigado.

    
por Johnny Welker 06.06.2018 / 01:37

2 respostas

0

Os dois primeiros comandos executarão o script SE for um script de shell. Mas pode ser Python. Ou awk Ou uma casca diferente inteiramente. Então, para ser seguro, você não precisa mencionar. sh explicitamente, pois a maioria dos scripts bem escritos especifica o interpretador correto na primeira linha.

  1. Torne o script executável: chmod a+rx install.sh
  2. Agora execute: ./install.sh
por 06.06.2018 / 11:24
0

O primeiro comando é o correto (desde que o script esteja no diretório atual). O terceiro comando está distante. O segundo fará o mesmo que o primeiro.

O script está sendo executado: isso não é um erro sobre não conseguir executar o script. Algum comando no script está falhando. Mas isso é tudo que posso dizer, porque não sei o que está no script.

Você não precisa torná-lo executável para executá-lo como sh script_name . Se tiver uma primeira linha iniciando #!… , ela será projetada para ser executada e executada como ./script_name .

Se o script depender de extensões bash (ou outras shell avançadas). Então, ele pode não ser executado em sh

Para depurar um script (se for um script bash), você pode executá-lo como bash -x script_name

Recomenda-se não ter extensões no executável: se você fosse reescrever em python, ou C, teria que renomeá-lo. Isso não é um bom pensamento. (se um arquivo é executável, então é executável. Ele é responsável por selecionar seu próprio interpretador (veja #! )).

    
por 06.06.2018 / 09:58