[rešeno] [bash] Pomoč pri deljenju dveh števil z odštevanjem
Bone
Član
Pozdravljeni!
Imam problem pri naslednji kodi:
#!/bin/bash
stevec=0
read st1 st2
while [ $st1 -ge $st2 ]; do
let st1=st1-st2
let stevec=$stevec+1
done
echo $stevec
if [ -z "st1" ] && [ -z "st2" ]; then
echo Napaka, vstavi dve stevili!
fi
Ko vstavim 2 števili se mi zdelita, ko pa ne vstavim nič (mora biti pogoj če programu ne podamo argumenta mora izpisat navodilo za uporabo) pa mi javi napako: line 4: [: 0: unary operator expected
Mislim da je napaka v tem, ker v if stavku primerjam stringe in ne integer, ampak ker sem nov v tem ne vidim rešitve.
lp
Imam problem pri naslednji kodi:
#!/bin/bash
stevec=0
read st1 st2
while [ $st1 -ge $st2 ]; do
let st1=st1-st2
let stevec=$stevec+1
done
echo $stevec
if [ -z "st1" ] && [ -z "st2" ]; then
echo Napaka, vstavi dve stevili!
fi
Ko vstavim 2 števili se mi zdelita, ko pa ne vstavim nič (mora biti pogoj če programu ne podamo argumenta mora izpisat navodilo za uporabo) pa mi javi napako: line 4: [: 0: unary operator expected
Mislim da je napaka v tem, ker v if stavku primerjam stringe in ne integer, ampak ker sem nov v tem ne vidim rešitve.
lp
Komentarji
#!/bin/bash
stevec=0
read st1 st2
if [ -z "st1" ] && [ -z "st2" ]; then
echo Napaka, vstavi dve stevili!
#tu naj bo nek stavek, ki spet prebere stevili oz. gre na začetek
fi
while [ $st1 -ge $st2 ]; do
let st1=st1-st2
let stevec=$stevec+1
done
echo $stevec
Drugače pa število argumentov dobiš v $#.