Мне любопытно, есть ли более простой и короткий способ сделать это?Один вкладыш в верхний регистр первой буквы?
foo="FOO"
foo="${foo,,}"
echo "${foo^}" //Foo
bar="bar"
bar="${bar,,}"
echo "${bar^}" //Bar
Первая часть важна, как я мог бы использовать карат с заглавной буквы, но если слово все заглавные буквы, это не нижний регистр остатка. Благодаря
Ваше решение очень хорошо: это чистый Bash и легко читать. Почему вас так беспокоит однострочный лайнер? Собственно, если вы хотите один лайнер, просто напишите на одной строке: 'foo =" FOO "; Foo = "$ {Foo ,,}"; echo "$ {foo ^}" '. И он имеет меньше нажатий клавиш, чем принятое вами решение (и решение, которое вы приняли, выдает внешнюю программу). –