получение списка всех слов в нижнем регистре в файле

В строке

month=$($date | cut -f1 -d' ')

вы выполняете все, что находится в $date, как команду и передаете ее вывод в cut.

Я думаю, вы хотите

month=$( printf '%s\n' "$date" | cut -f 1 -d ' ' )

здесь.

Кроме того, не смешивайте обратные апострофы и $(...) в одном скрипте, это сбивает с толку. Просто используйте вместо этого $(...).

Сравнение строк выполняется с помощью =:

if [ "$month" = "April" ]; then

Убедитесь, что ваши переменные заключены в двойные кавычки. См. Последствия для безопасности, если забыли заключить переменную в кавычки в оболочках bash/POSIX

. Целочисленные арифметические операции могут быть выполнены с использованием $(( выражение )). выражение устарело.

j1=$(( "$1" ))
j2=$(( "$2" ))

...

j1=$(( j1 + 1 ))

0
27.01.2016, 04:25
0 ответов

Теги

Похожие вопросы