Como chamar um script bash de outro script?

0

Eu sei que há muitas perguntas semelhantes, mas não consegui encontrar uma resposta para a minha:

Eu tenho alguns se e verificando para chegar a este ponto de script de origem para chamar outro script

source ./call.sh

E no script de destino, quero obter o nome de usuário do usuário:

#!/bin/bash
passDir="/etc/passwd"
while true
    do
        #propmt for username
        read -p "Enter username : " username
        egrep "^$username" $passDir >/dev/null
        if [ $? -eq 0 ]; then
            echo "$username exists!"

        else
            userName=$username
            break
        fi
    done                   

Mas não me espera entrar em nada. Ele vai dentro de um loop e impressão existe a menos que eu pressione Ctrl + C Eu aprecio se alguém pode me dar uma sugestão de como fazê-lo. No meu script de destino eu tenho dezenas de outros prompts para obter a entrada do usuário Quando eu executo o script de destino sozinho, ele funciona bem.

    
por Bernard 14.09.2014 / 12:52

1 resposta

1

Você precisa escrever um script extra e ligar com source command e interagir com seu script. Você precisa usar expect interpreter como:

#!/usr/bin/env expect 
send 'username\r'

Claro, você precisa passar algo para o seu script e usar seu return status .

    
por 14.09.2014 / 14:24

Tags