我有一个字符串:

baseline=RAVENPLAT1.5.5.0_1.5.5.0-318_CHASSIS_PKG_193_15-AUG-2014_0350@/vobs/tlv_pvob
我试图进入子字符串变量,直到有可能出现“@”符号?

最佳答案

使用BASH正则表达式:

baseline=RAVENPLAT1.5.5.0_1.5.5.0-318_CHASSIS_PKG_193_15-AUG-2014_0350@/vobs/tlv_pvob

[[ "$baseline" =~ ^([^@]+) ]] && myvar="${BASH_REMATCH[1]}"

echo "$myvar"
RAVENPLAT1.5.5.0_1.5.5.0-318_CHASSIS_PKG_193_15-AUG-2014_0350

否则使用BASH字符串操作:
myvar="${baseline%%@*}"

10-04 17:46