Ho bisogno di elaborare le dipendenze della libreria condivisa di una libreria da uno script bash. La processi for
comando parola per parola:Come si elabora l'output di un comando nella shell riga per riga?
for DEPENDENCY in `otool -L MyApplication | sed 1d`
do
...
done
Qual è il modo per elaborare i risultati line-by-line?
Attenzione: se è necessario impostare le variabili nel ciclo while (cioè memorizzare quello che hai trovato in uscita di otool), faranno svaniscono non appena l'uscita dal ciclo perché fa parte di una pipeline e quindi viene eseguito in una subshell. In bash, puoi aggirare questo con un po 'di riorganizzazione: 'mentre leggi i; do ... done <<(otool -L MyApplication | sed 1d) ' –
Un altro avvertimento: cancellerà un sacco di spazi e backslash. Usa 'read -r i' per leggere le righe senza tali modifiche. – Jens
@Jens, no, è il comando eco che mangia spazi. 'echo" line: $ i "' lo impedirà. –