换一个方法 delVercsv=echo ${csvSel%$CUS_PRODUCT_VER}
时间: 2024-03-11 12:49:34 浏览: 17
这个命令不是一个完整的命令,缺少了 `$()` 语法。如果要将 `${csvSel%$CUS_PRODUCT_VER}` 的结果保存到 `$delVercsv` 变量中,应该使用下面的命令:
```
delVercsv=$(echo ${csvSel%$CUS_PRODUCT_VER})
```
这个命令首先执行了一个 `echo` 命令,将 `${csvSel%$CUS_PRODUCT_VER}` 的结果输出到标准输出,然后使用 `$()` 语法将输出结果保存到 `$delVercsv` 变量中。`${csvSel%$CUS_PRODUCT_VER}` 的含义是从变量 `$csvSel` 的末尾开始,删除最后一个匹配 `$CUS_PRODUCT_VER` 的字符串及其后面的内容,这里的 `$()` 语法可以让这个操作的结果被保存到一个变量中。
相关问题
`echo ${csvSel%$CUS_PRODUCT_VER}`
这是一个 Bash 脚本中的字符串操作语句,其中 ${csvSel} 表示一个字符串变量。% 是 Bash 中的一个操作符,表示从字符串结尾开始,删除匹配模式的最小部分。
具体来说,${csvSel%$CUS_PRODUCT_VER} 的含义是:从 $csvSel 变量的末尾开始,删除最后出现的 $CUS_PRODUCT_VER 变量的值,并返回删除后的结果。
举个例子,如果 $csvSel 的值为 "abc123def456",$CUS_PRODUCT_VER 的值为 "456",那么执行 ${csvSel%$CUS_PRODUCT_VER} 后,得到的结果为 "abc123def"。
csvSel=`cat $myTargetFile|grep "${CUS_PROJECT_NAME},${CUS_PRODUCT_ID},${CUS_OS_TYPE},${CUS_CUSTOMER_NAME}"` delVercsv=`echo ${csvSel%$CUS_PRODUCT_VER}` 其中的$CUS_PRODUCT_VER 没有被删掉
这段代码中,$CUS_PRODUCT_VER没有被删掉是因为在delVercsv变量中没有指定要删除的内容。可以使用以下代码将$CUS_PRODUCT_VER从csvSel中删除:
```
csvSel=`cat $myTargetFile|grep "${CUS_PROJECT_NAME},${CUS_PRODUCT_ID},${CUS_OS_TYPE},${CUS_CUSTOMER_NAME}"`
delVercsv=${csvSel//$CUS_PRODUCT_VER/}
```
在这里,我们使用了bash shell的字符串替换功能,将$CUS_PRODUCT_VER替换为空字符串,从而实现删除的效果。