Como trabalhar com funções encadeadas no Ubuntu

-1

Estou tentando executar o script a seguir, mas não consigo descobrir como passar um valor como argumentos que já recebi do argumento de outra função. Resposta com explicação será mais appriciated como eu sou um iniciante em scripts bash.

function execute{
    task = $1
    servername = $2
    $task $servername
}


function installDependency{
    servername = $1
    sshpass -p password ssh servername 'bash -s' < install_dependency.sh
}


function removeDependency{
    servername = $1
    sshpass -p password ssh servername 'bash -s' < remove_dependency.sh
}


execute remove_dependency server1

Estou recebendo o seguinte erro:

syntax error near unexpected token 'task=$1'
    
por Ahsanul Haque 14.09.2015 / 12:02

1 resposta

4

Evite os caracteres de espaço para uma declaração

servername="$1"

em vez de

servername = $1
function removeDependency {
    servername="$1"
    sshpass -p password ssh servername 'bash -s' < remove_dependency.sh
}


function execute {
    task="$1"
    servername="$2"
    "$task" "$servername"
}


function installDependency {
    servername="$1"
    sshpass -p password ssh servername 'bash -s' < install_dependency.sh
}

execute "removeDependency" "server1"
    
por A.B. 14.09.2015 / 12:04