Portál AbcLinuxu, 12. května 2025 05:30
IFS=$'|' ARR=(" Lorem ipsum dolor sit am et | Risus urna convallis est et ") PAR=( ${ARR[0]} ) PAR0=${PAR[0]} PAR1=$( echo ${PAR0[0]} ) echo $PAR0 echo $PAR1
PAR1=$( echo ${PAR0[0]} )
by měl odstranit mezery, což neudělá.
#!/bin/bash OLDIFS=$IFS IFS='|' ARR=(" Lorem ipsum dolor sit am et | Risus urna convallis est et ") PAR=( ${ARR[0]} ) PAR0=${PAR[0]} #remove next line change output IFS=$OLDIFS PAR1=$( echo ${PAR0[0]} ) IFS='|' echo $PAR0 echo "\"$PAR0" echo $PAR1 echo "\"$PAR1" echo '----' IFS=$OLDIFS echo $PAR0 echo "\"$PAR0" echo $PAR1 echo "\"$PAR1"
IFS
se odvíjí spousta věcí (byť je to furt totéž, jen s různými důsledky), stejně tak například přestavení proměnné LANG
může generovat jiný výstup z různých příkazů.echo -n "$IFS" | od -abc
.IFS='|'nemá to být náhodou takto?
IFS=$'|'
IFS=' '
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.