Как применить текстовые модификации для bash специальных переменных - PullRequest
0 голосов
/ 01 мая 2019

У меня есть скрипт bash, который принимает входные аргументы, используя специальные переменные bash, такие как $ 1, $ 2 и т. Д.

Я хочу применить некоторую модификацию текста, используя sed для $ 2, и хочу перенести конечный результат в $ 2. Как мне этого добиться ??

В качестве альтернативы, я просто хочу отформатировать текст внутри $ 2 с использованием заглавных букв, то есть Bar, Neo, Me и т. Д., Независимо от того, какой формат они предоставляют мне, например bar, nEO, ME, и хочу сохранить это значение в переменной $ 2.

main.sh
echo "${2^}"

./main.sh me nEO --> NEO -expected is-> Neo

Для которого я использовал ${2^}, но был успешным только с bar сценарий

Ответы [ 2 ]

3 голосов
/ 01 мая 2019

С bash:

declare -c string="nEO"
echo "$string"

Преобразует первый символ в верхний регистр, а все остальные в нижний регистр.

Вывод:

Neo
1 голос
/ 01 мая 2019

Я предпочитаю решение Кира, но вот альтернатива.

a=nEO
b=${a,,}   # neo
echo ${b^} # Neo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...