Path= "./ " sed "s/.*\.\//${Path}\//" 哪里错了?
时间: 2023-07-17 21:04:15 浏览: 46
在你提供的命令`Path= "./ " sed "s/.*\.\//${Path}\//"`中,有一个小错误。在定义`Path`变量时,路径前面多了一个空格。这个空格可能导致路径匹配失败。
你可以将命令修改为以下形式:
```bash
Path="./" # 移除空格
sed "s/.*\.\//${Path}\//"
```
这样,定义的`Path`变量将不再包含额外的空格,并且`sed`命令将正确地将`./`之前的内容替换为`${Path}/`。
请注意,我在命令中删除了最后的斜杠`/`,因为在替换中的斜杠是用来转义的。如果你需要斜杠作为替换结果的一部分,请将其放在`${Path}`后面。
希望这可以解决你的问题!如果还有其他疑问,请随时提问。
相关问题
sh 语言 set BASE_CASE = echo $1 | awk '{print toupper($0)}' echo $BASE_CASE set CASE = echo $2 | awk '{print toupper($0)}' echo $CASE set base_tc = ddr_system_$1_tc001 set base_veq = ddr_system_$1_vsequence set tc = ddr_system_tc_$2 set veq = ddr_system_$2_vsequence set tc_path = $ddr_tc_path/lpddr/lpddr_system/testcase set veq_path = $ddr_tc_path/lpddr/lpddr_system/vsequence cp -rf ${veq_path}/${base_veq}.sv ${veq_path}/${veq}.sv cp -rf ${tc_path}/${base_tc}.sv ${tc_path}/${tc}.sv sed -i "s/$1/$2/g" ${veq_path}/${veq}.sv sed -i "s/$1/$2/g" ${tc_path}/${tc}.sv sed -i "s/${BASE_CASE}/${CASE}/g" ${veq_path}/${veq}.sv sed -i "s/${BASE_CASE}/${CASE}/g" ${tc_path}/${tc}
这段代码还是 shell 脚本,只是中间的赋值语句的语法格式不太对,应该使用 `=` 而不是 `=`,应该是这样的:
```
BASE_CASE=`echo $1 | awk '{print toupper($0)}'`
echo $BASE_CASE
CASE=`echo $2 | awk '{print toupper($0)}'`
echo $CASE
base_tc=ddr_system_$1_tc001
base_veq=ddr_system_$1_vsequence
tc=ddr_system_tc_$2
veq=ddr_system_$2_vsequence
tc_path=$ddr_tc_path/lpddr/lpddr_system/testcase
veq_path=$ddr_tc_path/lpddr/lpddr_system/vsequence
cp -rf ${veq_path}/${base_veq}.sv ${veq_path}/${veq}.sv
cp -rf ${tc_path}/${base_tc}.sv ${tc_path}/${tc}.sv
sed -i "s/$1/$2/g" ${veq_path}/${veq}.sv
sed -i "s/$1/$2/g" ${tc_path}/${tc}.sv
sed -i "s/${BASE_CASE}/${CASE}/g" ${veq_path}/${veq}.sv
sed -i "s/${BASE_CASE}/${CASE}/g" ${tc_path}/${tc}
```
注意,在 shell 中,变量赋值时不能有空格,应该使用 `=` 而不是 `=`。
sed "s/.*\.\//${Path}\//"为什么没有翻译${Path]
在你提供的命令`sed "s/.*\.\//${Path}\//"`中,`${Path}`是一个变量,你可能期望它被替换为变量值。然而,在单引号字符串中,变量不会被解析和替换。
要使`${Path}`被正确解析和替换为变量值,你可以使用双引号字符串。修改命令如下:
```bash
sed "s/.*\.\//${Path}\//"
```
在双引号字符串中,`${Path}`会被解析为变量值,并在`sed`命令中进行替换。
请注意,这只适用于在 Bash 或类似的 Shell 中使用。如果你在其他环境中使用不同的 Shell 或工具,请查看相应的文档以了解正确的变量替换语法。
希望这次能够解决你的问题!如果还有其他疑问,请随时提问。