Sto provando a leggere i comandi da un file di testo ed eseguo ogni riga da uno script bash.linea exec dal file in bash
#!/bin/bash
while read line; do
$line
done < "commands.txt"
In alcuni casi, se $line
contiene i comandi che sono destinati per l'esecuzione in background, ad esempio command 2>&1 &
che non si avvia in background, e si svolgerà nel contesto script corrente.
Qualche idea perché?
C'è qualche ragione per cui non puoi semplicemente fare "source commands.txt" invece di scrivere il tuo loop? –
cosa fa "fonte"? Sto cercando di testarlo ora – Quamis
Si prega di consultare [BashFAQ/050] (http://mywiki.wooledge.org/BashFAQ/050). E poi usa 'source' (o' .') come suggerisce Jim Lewis. 'source' fa praticamente quello che dice la prima frase nella tua domanda. –