Subshell para Bash Script [closed]

0

Os comandos do sub-shell devem ser executados automaticamente nos scripts bash.

Ele é executado automaticamente, em seguida, executando o sub-shell dentro do bash, mas requer interação humana. Eu quero executá-lo automaticamente dentro do meu script bash.

Minhas listas principais de comandos do Bash Script:

#!/bin/sh
#
****some-commands****
askbot-setup;

Sub-shell executa

Deploying Askbot - Django Q&A forum application
Problems installing? -> please email [email protected]

To CANCEL - hit Ctr-C at any time

Enter directory path (absolute or relative) to deploy
askbot. To choose current directory - enter "."
> .

Please select database engine:
1 - for postgresql, 2 - for sqlite, 3 - for mysql, 4 - oracle
type 1/2/3/4: 3

Please enter database name (required)
> askbotdb

Please enter database user (required)
> askbotuser

Please enter database password (required)
> askbotpasswords

Copying files:
* __init__.py
* manage.py
* urls.py
* django.wsgi
Creating settings file
settings file created

Eu quero automatizar os comandos fornecidos no script myshell para que ele possa ser executado sem interação humana.

.
3
askbotdb
askbotuser
askbotpasswords

Então o que é o comando para o meu sub shell para os comandos acima depois dos comandos askbot-setup para o script Bash.

    
por Gopal Raha 07.01.2017 / 19:26

1 resposta

1

Eu olharia a documentação do askbot primeiro e verificaria se o askbot-setup pode obter suas respostas a partir da linha de comando ou através de alguma forma de arquivo de resposta.

Se tudo mais falhar, você pode usar o autoexpect (1) para criar um script expect (1) para simular sua interação manual com o askbot-setup.

Apenas para evitar confusão de termos - "subshell" normalmente se refere a um conjunto de comandos dentro de um script de shell que é executado em um espaço de processo separado por estar cercado por colchetes. O tipo de software a que você está se referindo aqui é melhor descrito como um script de instalação interativo.

    
por 07.01.2017 / 19:50