Присвоить строку с пробелом переменной из аргумента командной строки - PullRequest
0 голосов
/ 10 октября 2019

Мне нужно получить строку с пробелом (иногда без), назначенным для переменной, в качестве входных данных из аргумента командной строки сценария и выполнить поиск по заданной строке в файле.

Мой сценарий не учитываетвместо него передается пробел, вместо него берется только первое слово

Я выполняю как

./search_pattern.sh ticket_no="ticket3456" pattern="Error configuring"


for argument in "$@"; do

key="${argument%%=*}"

value="${argument#*=}"

case "${key}" in

pattern)    pattern="${value}";;
ticket_no)  ticket_no="$value";;
esac

done

echo "pattern is $pattern"

echo "ticket is $ticket_no"

Я получаю вывод как

  pattern is Error

  ticket is ticket3456

1 Ответ

0 голосов
/ 05 ноября 2019

Проблема возникла из-за того, что я передавал аргументы функции, где она рассматривает пространство, и не экранировал ее при добавлении обратной косой черты ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...