source some_file
un_file:
doit ()
{
echo doit $1
}
export TEST=true
Se ho source some_file la funzione "doit" e la variabile TEST sono disponibili sulla riga di comando. Ma eseguendo questo script:
script.sh:
#/bin/sh
echo $TEST
doit test2
Restituirà il valore di TEST, ma genererà un errore relativo alla funzione sconosciuta "doit".
Posso "esportare" anche la funzione o devo sorgente some_file in script.sh per usare lì la funzione?
#!/bin/sh
, ma è buona norma usarla in #!/bin/bash
modo da evitare problemi quando la shell predefinita non è bash.
#!/bin/sh
passa a#!/bin/bash
e dopodoit() {...}
appenaexport -f doit