Я написал следующую команду, чтобы сопоставить $ a с $ b, но когда значение включает «-», я получаю сообщение об ошибке. Как я могу избежать этого?
# a="-Xmx5324m"
# b="-Xmx5324m"
#
#
# echo "$a" | grep -Fxc "$b"
grep: conflicting matchers specified
[[ ... ]]или caseбудет лучшим выбором, так как вы избегаете оба идиосинкразии echoи дочерних процессов.
grepкак буквальный символ, а не как начало опции, т.е. echo test-test | grep "\-test"будет соответствовать, а не жаловаться на неизвестный -tфлаг.
grep -Fxc -- "$b" <<< "$a"избежать ненужного канала