Muszę zweryfikować długość odczytu zmiennej (mój limit skryptu do pięciu wstawionych znaków), myślę o czymś takim:
#!/bin/bash
read string
check=${#string}
echo $check
if [ $check -ge 5 ]; then echo "error" ; exit
else echo "done"
fi
czy istnieje bardziej „eleganckie” rozwiązanie?
dash
jest ${#string}
nie daje długość w bajtach zamiast znaków.
/bin/sh
. Powinieneś rozważyć zmianę linii shebang na,#!/bin/sh
aby była bardziej przenośna i działała w środowiskach, w których bash nie jest dostępny. Ponadto/bin/sh
może być bardziej lekką powłoką, taką jak deska rozdzielcza, która nie jest obciążona funkcjami przeznaczonymi do użytku interaktywnego.