2016-01-16 2 views
4

Использование Баш версии 3.2.57 (1) -release (x86_64-яблочно-darwin14)Преобразовать строку в переменной в нижнем регистре

Как я могу «переназначить» или «изменение» существующего считанное значение в переменную ,

Если пользователь вводит строку IAmString, я бы хотел, чтобы propInput сохранил значение iamstring. Я просто печатаю на консоль, например, ради.

read userInput 
echo ${userInput} | tr '[:upper:]' '[:lower:]' 

ответ

7

Вы должны хранить выход вашего эхо:

read userInput 
userInput=$(echo "$userInput" | tr '[:upper:]' '[:lower:]') 
+0

Вы правы. он действительно отсутствовал в той части, где он задает переменную. по какой-то причине я думал, что ему не нужна эта часть, и у меня проблемы с преобразованием в нижний регистр ... – yftse

+0

Спасибо, аарон. – meteorBuzz

+0

Добро пожаловать! Это было легко:) – Aaron

-1

Ii'm удивлен, что уже не работает ...

ли у вас возникли проблемы, хранящее значение?

Если да, то вы должны были бы:

userInput=$(echo ${userInput} | tr '[:upper:]' '[:lower:]') 

Но это похоже на окружающую среду макинтош. Какие результаты вы получаете?

Редактировать, добавлено userInput=$() и реструктурировано, чтобы лучше узнать.

+0

Нет, это работает. Но он не хочет иметь его в консоли. Он хочет сохранить новую строку в 'userInput'. –

+1

Это не ответ, а комментарий. –

+0

Это был не ответ, потому что я не совсем был уверен в этом вопросе. но я УГАДАЮ, что сейчас вижу вопрос? я все еще только сейчас УГАДАЮ ... что этого не было 'userInput = $()'. Редактирование моего «комментария» сейчас ... – yftse

Смежные вопросы