Я хочу, чтобы этот скрипт загружал строковый аргумент, проверял его длину, и если его длина равна 1, то присваиваю 1 переменной, в противном случае присваиваем ей арифметическое выражение. У меня проблемы с синтаксисом bash, и я не могу заставить его работать. Любая помощь будет оценена. Это моя попытка:
#!/bin/bash
stringArg=$1
let myVariable=1
case "${#stringArg}" in
1) myVariable=1 ;;
*) myVariable="${#stringArg}*2-2" ;;
esac
echo $myVariable
Запуск с ./test.sh 123
выходами 3*2-2
, но я хочу, чтобы он напечатал 4
.