我正在编写一个shell脚本用于某种目的。我有一个形式的变量 -
var1 = "policy=set policy"
现在我需要操纵变量var来获取索引=
之后的字符串。那就是我应该“制定政策”。此外,对于“=”的值不是常数的许多其他变量,我还需要这个。喜欢
var2 = "bgroup = set bgroup port"
var3 = "utm = set security utm"
你能告诉我怎么做吗?
答案 0 :(得分:3)
${var#*=}
从左侧删除*=
的最短匹配。请注意,这不存在:如果要保存结果,则必须将结果存储在变量中。
另一方面,这是针对bash的。 AFAIK它也适用于ksh和zsh,但不适用于csh或tcsh。
答案 1 :(得分:0)
其他不依赖于你的外壳的方式。
$ var1="policy=set policy"
$ echo $var1 | awk '{sub(/.[^=]*=/,"")}1'
set policy
$ echo $var1 | cut -d= -f2-
set policy
$ echo $var1 | ruby -e 'puts gets.split(/=/,2)[1]'
set policy
$ echo $var1 | sed 's/.[^=]*=//'
set policy