Portál AbcLinuxu, 10. prosince 2025 20:02
#/bin/bash
LIST='ls *.php'
for $i in $LIST
iconv -f WINDOWS-1250 -t UTF-8 $i > $i_tmp
mv $i_tmp $i
done
bash(1)
Chybí do
#/bin/bash
LIST=`ls *.php`
for $i in $LIST
do iconv -f WINDOWS-1250 -t UTF-8 $i > ${i}_tmp
mv ${i}_tmp $i
done
for $i a ne for i.
jinak bych měl návrh na vylepšení:
#!/bin/bash
LIST=`ls *.php`
TEMP=`mktemp`
for FILE in $LIST
do iconv -f WINDOWS-1250 -t UTF-8 "$FILE" > "$TEMP"
mv "$TEMP" "$FILE"
done
LIST=`ls *.php`To má být pokus o blbej vtip?
ls je naprosto zbytečné, protože LIST=*.php bude fungovat úplně stejně. A taky to úplně stejně v for i in $LIST selže na všech souborech obsahujících mezeru, tabelátor a odřádkování (znaky v IFS)#!/bin/bash
TEMP="$(mktemp)"
for FILE in *.php
do
iconv -f WINDOWS-1250 -t UTF-8 "$FILE" > "$TEMP"
mv "$TEMP" "$FILE"
done
TEMP="$(mktemp tmp.XXXXX)"Kýho výra to máš
mktemp, že má povinný template?
X, tak ještě jednou:
TEMP="$(mktemp tmp.XXXXXX)"
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.