Jak mogę odczytać zmienną za pomocą while read line
?Jak "odczytać" zmienną w pętli while?
Na przykład:
the_list=$(..code..)
while read line
do
echo $line
done < $the_list
stosując powyższy kod daje mi błąd:
./copy.sh: line 25: $the_list: ambiguous redirect
Czy 'IFS =' ustawia IFS na znak null? Dlaczego potrzebujesz tego w tym przypadku? – doubleDown
@doubleDown: 'IFS =' ustawia '$ IFS' na pusty ciąg znaków (więc nie zawiera żadnych znaków). W tym przypadku, ponieważ istnieje tylko jedno pole, jego jedynym skutkiem jest uniemożliwienie usunięcia wiodących znaków IFS od początku linii. (Aby zobaczyć, co mam na myśli, porównaj 'przeczytaj foo <<< 'pasek'; echo" $ foo "' z 'IFS = przeczytaj foo <<< 'pasek'; echo" $ foo "'.) – ruakh