Vanwege het kunnen crashen van mijn script door commando's op een read input in te voeren,
zoek ik een filter om spaties te herkennen.
Ondanks dat een functie met meerdere if .. then statements de read input verder goed filtert,
is onderstaande code bovenaan gezet en crasht het script nog.
Ik heb de code vergeleken met voorbeelden online, maar ik zie er geen fouten in.
De daaropvolgende fout tijdens draaien van het script is:
De bedoeling is dat het script de volgende if then statements overslaat, en functie bar uitvoert.
Ik heb nagedacht om in een eerdere functie
Is er een fout in de eerdere code, of een handigere aanpak?
zoek ik een filter om spaties te herkennen.
Ondanks dat een functie met meerdere if .. then statements de read input verder goed filtert,
is onderstaande code bovenaan gezet en crasht het script nog.
code:
1
2
3
4
5
6
7
8
9
10
11
| function foo { if [ $INVOER == *\ * ] then echo "geen spaties toegestaan" && bar fi ... } |
Ik heb de code vergeleken met voorbeelden online, maar ik zie er geen fouten in.
De daaropvolgende fout tijdens draaien van het script is:
code:
1
2
3
4
5
| <scriptnaam>: line 84: [: too many arguments <scriptnaam>: line 91: [: too many arguments <scriptnaam>: line 97: [: too many arguments ... enz |
De bedoeling is dat het script de volgende if then statements overslaat, en functie bar uitvoert.
Ik heb nagedacht om in een eerdere functie
code:
in te passen, nmaar ik zie niet goed hoe dit aan een "mooi geschreven'' programmacode bijdraagt (vergroot de feature creep)1
| sed 's/\ //g ' $INVOER |
Is er een fout in de eerdere code, of een handigere aanpak?