Назначить результат команды в переменную
Я получил этот странный результат сегодня при назначении результата команды в переменной.
Эта команда:
git branch | grep 480
дает мне результат, как это:
branch_name_480
При условии branch_name_480
это единственный филиал с 480 в нем.
Но когда я пытаюсь сделать это:
temp=`git branch | grep 480`
Или это:
temp=$(git branch | grep 480)
и после этого: echo $temp
это не дает мне ожидаемого результата - который должен быть таким же, как и раньше. Вместо этого это дает мне результат как all my directory listing and the expected result
в одной строке.
Я знаю, что могу сделать это, чтобы получить ожидаемый результат:
temp=$(echo 'git branch | grep 480')
Итак, мой вопрос: почему это происходит? Почему я не получаю ожидаемый результат раньше?
1 ответ
Использование echo "$temp"
,
Выход из git branch
включает в себя звездочку, которую оболочка расширяет до списка каталогов. Цитирование не позволит этого сделать.