Не могли бы вы попробовать следующий, чистый способ bash.Пожалуйста, дайте скрипту соответствующие разрешения и запустите его, например: ./script.ksh
или около того.Также я написал условие else
, чтобы напечатать оператор типа string NOT found
и т. Д., Если вы не хотите печатать что-либо, вы можете удалить часть else
из этого (хотя это НЕ хорошая практика программирования, когда у нас нетправильные утверждения, печатные заявления на любых контрольных точках всегда полезны для любого вида устранения неполадок ИМХО).
cat script.ksh
var="abc=1"
val="${var%=*}"
val_field="${var#*=}"
if [[ "$val" =~ "abc" ]]
then
echo "$val_field"
else
echo "String abc NOT found."
fi
ИЛИ (согласно комментарию @Benjamin W. добавив его хорошее предложение здесь в качестве альтернативы сейчас)
cat script.ksh
var="abc=1"
IFS='=' read -r val val_field <<< "$var"
if [[ "$val" =~ "abc" ]]
then
echo "$val_field"
else
echo "String abc NOT found."
fi