Portál AbcLinuxu, 8. listopadu 2025 12:31
#!/bin/sh
if [ "$1" = "--help" ]
then
smssend eurotel.sms
else
cislor=0
zpravy=`echo "$3" | oi | fmt -w 55`
pocetzpr=`echo "$zpravy" | wc -l`
echo "$zpravy" | while read line
do
if [ 1 != "$pocetzpr" ]
then
cislor=`expr $cislor + 1`
zprava=${cislor}/${pocetzpr}:$line
else
zprava=$line
fi
echo smssend eurotel.sms "'${1}'" "'${2}'" 0 "'${zprava}'"
smssend eurotel.sms "$1" "$2" 0 "$zprava"
done
fi
Poznámky: oi je můj skript na odstranění interpunkce. Vím, že takto odešlu maximálně 9 SMS (kvůli té velikosti 55).
#!/bin/sh
if [ "$1" = "--help" ]
then
smssend eurotel.sms
else
cislor=0
zpravy=`echo "$3" | oi | fmt -w 56`
pocetzpr=`echo "$zpravy" | wc -l`
if [ $pocetzpr -gt 9 ]
then
echo "trochu zvetsim"
zpravy=`echo "$3" | oi | fmt -w 54`
pocetzpr=`echo "$zpravy" | wc -l`
fi
echo "$zpravy" | while read line
do
if [ 1 != "$pocetzpr" ]
then
cislor=`expr $cislor + 1`
zprava=${cislor}/${pocetzpr}:$line
else
zprava=$line
fi
echo smssend eurotel.sms "'${1}'" "'${2}'" 0 "'${zprava}'"
vysledek=`smssend eurotel.sms "${1}" "${2}" 0 "${zprava}" < /dev/null`
while [ "$vysledek" = "SmsSend Error : Confirmation code doesn't match the requested one. Sorry, OCR program isn't perfect. Try it one more
time." ]
do
echo "OCR zklamal, zkusim znovu..."
vysledek=`smssend eurotel.sms "${1}" "${2}" 0 "${zprava}" < /dev/null`
done
echo "${vysledek}"
done
fi
Kdo by chtěl ještě onen skript oi na odebrání interpunkce(možná je na to něco lepšího), který je používán predcházejícím skriptem:
prikaz='sed'
for nahrazeni in á/a č/c ď/d é/e ě/e í/i ň/n ó/o ř/r š/s ť/t ů/u ú/u ý/y ž/z Á/A Č/C Ď/D É/E Ě/E Í/I Ň/N Ó/O Ř/R Š/S Ť/T Ů/U Ú/U Ý/Y Ž/Z ;do
prikaz="$prikaz -e 's/'${nahrazeni}'/g'"
done
eval $prikaz
(a to jsem ho znal, jen uvažovat). S y/// je to u mě to samé. Nicméně, až na to zbytečné předzpracování myslím, že to poběží stejně rychle (sed spouštím jen jednou).
Dík
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.