/ / local: non in una funzione per la variabile - bash

locale: non in una funzione per variabile - bash

Continuo a ricevere "12: locale: non in una funzione "per il codice qui sotto, che è la prima riga in cui appare" log locale ".Le variabili locali sembrano essere impostate correttamente nella funzione Qualcuno potrebbe indicarmi la giusta direzione?

#!/bin/bash

HOST="0.0.0.0"
USER="root"
PASS="123"

function login{
if [ -z "$USER" ]
then
echo "pass not set"
else
local log="-u $USER"
local log+="-p$PASS"
echo $log
fi
}

mysql (login) -h $HOST

Questo è nel sottosistema Ubuntu su Win 10 nel caso che importi.

risposte:

2 per risposta № 1
function login {
^

È necessario uno spazio prima della parentesi graffa.

mysql $(login) -h $HOST
^

Ti manca anche un segno di dollaro qui.