скрипты bash преобразуют прописные буквы в нижний регистр и наоборот

Просьба проверить и сообщить свой сценарий. Я пытаюсь получить слово (мин. 2, максимум 5 символов) в качестве его ввода.

Пользователь предоставит позицию символа, а затем скрипт изменит его либо с нижнего, либо на верхний или верхний регистр. Ниже приведен неполный сценарий:

input: teSt 3

выход: test

 #!/bin/bash clear while true do echo ******TEST***** read -p 'Enter a word :' word if [[ ${#word} -le 1 ]] || [[ ${#word} -ge 6 ]]; then echo "Invalid input (Min of 2 and max of 5)!." exit 1 fi echo ${word^^*} done 

3 Solutions collect form web for “скрипты bash преобразуют прописные буквы в нижний регистр и наоборот”

 #!/bin/bash read -p 'Enter a word : ' str id if [[ ${#str} -le 1 ]] || [[ ${#str} -ge 6 ]]; then echo "Invalid input (Min of 2 and max of 5)!." && exit 1 idt=$((id-1)) case ${str:idt:1} in [[:lower:]]) r='\U'; ;; [[:upper:]]) r='\L'; ;; esac echo $str | sed -r "s/./$r&/$id" 

 $ ./script.sh Enter a word : test 1 Test $ ./script.sh Enter a word : Test 2 TEst $ ./script.sh Enter a word : teST 3 tesT 

вы можете использовать ~ для переключения верхнего и нижнего регистра,

Проверь это:

 #!/bin/bash clear while true do echo ******TEST***** read -p 'Enter a word :' word pos if [[ ${#word} -le 1 ]] || [[ ${#word} -ge 6 ]]; then printf "\n\tInvalid input (Min of 2 and max of 5)!.\n\n" fi for x in `seq 0 ${#word}`; do c=${word:$x:1} if [ "$x" -eq "$(($pos-1))" ]; then printf "%s" "${c~}" else printf "%s" "${c}" fi done printf "\n\n" done 

Этот скрипт только переключает случай указанной буквы. Он не подтверждает ввод.

 #!/bin/bash while read -r -p "Enter a word :" word position; do sed -r "s/([az])|([AZ])/\U\1\L\2/${position}" <<< "$word" done 

Тестирование:

 $ ./up_and_low_case.sh Enter a word :CAT 2 CaT Enter a word :rabbit 4 rabBit 
  • для аутентификации требуется действительная дата, когда я подключаюсь к AWS S3
  • Синтаксическая ошибка C Shell Script «неожиданный конец файла»
  • Удалить диапазон строк над шаблоном с помощью sed (или awk)
  • Потрясающее поведение округления с печатью
  • Поток FFMPEG не появится на Justin.tv
  • загрузка файла один раз и воспроизведение его несколько раз
  • Как работает эта команда sed?
  • Многоуровневое меню-подменю-вариант bashscript (If-Else vs Switch-Case)
  • Получите очень следующее слово подстроки в строке
  • надежный код возврата фонового процесса
  • Создайте пакетный скрипт SOX для извлечения первых 15 секунд и переименуйте несколько файлов в папку
  • Interesting Posts

    Пониженный GNU не работает

    Проблема: ничего не предоставляет libcrypto.so.10 () (64 бит), необходимый Percona-Server-client-57-5.7.10-3.1.el7.x86_64

    Пакет докеров не устанавливается из debian, но нормально с ubuntu

    Как установить Debian Jessie с рабочего стола XFCE?

    Сохранить код выхода для последующего

    Какое правильное место для установки кучи скриптов и файлов поддержки для программы?

    Узнайте, какое приложение прослушивает определенные привязки клавиш?

    Сумма альтернативных значений в столбце с использованием команды sed или nawk

    сжатое и несжатое ядро ​​на встроенном устройстве

    Изменить файл в / etc с помощью сценариев оболочки?

    Конфликт группы контекста Bash

    Terminal – перенаправление вывода в файл сокращается

    Не удается загрузить ArchLinux с помощью Macbook pro 7.1

    Как быстро хранить и получать доступ к часто используемым командам?

    Поймать сигнал уничтожения, когда процесс находится в состоянии S

    Linux и Unix - лучшая ОС в мире.