我有一个变量A
,其值的第一部分始终为DEV-UI
。 A的各种可能值可以是:DEV-UI
,DEV-UI2
,DEV-UI*
我想从中提取DEV
并将其存储在另一个变量中。这样,其他变量B
的值始终为DEV
。
如何从A
,DEV
中提取并存储在B中?
我正在寻找任何剪切分隔符或任何可用于在我的shell脚本中实现此目的的表达式。
答案 0 :(得分:0)
-
按{{1}}拆分字符串并返回第一部分。
答案 1 :(得分:0)
明显的步骤显然只是设置B="DEV"
,因为你声明它总是DEV
。但是,下面我将展示如何将其作为第一个字段提取。
这取决于您拥有的shell类型,但如果它是任何形式的sh
- 兼容的shell,您可以这样做:
$ B=${A%%-*}
中对此进行了解释
<强>
${parameter%%[word]}
强> 删除最大的后缀模式。该词应扩展为产生一种模式。然后参数扩展将产生参数,后缀的最大部分与删除的模式匹配。
$ A="hello-big-world"
$ echo ${A%-*}
hello-big
$ echo ${A%%-*}
hello
使用C Shell时,你运气不好:
% set a = "hello-big-world"
% set b = `echo $a | cut -d- -f1`
% echo $b
hello