name=${rlt} | awk -F '' '{print $2""$3"_"$4}' echo $name 打印不出切出的name是为啥,怎么修改
时间: 2023-10-04 11:07:06 浏览: 55
这是因为你在给变量 `name` 赋值时使用了管道符 `|`,将 awk 命令的输出结果传递给了 `name`,但实际上你想要将 awk 命令的输出结果赋值给变量 `rlt`。需要修改成以下方式:
```
rlt=$(echo $name | awk -F '_' '{print $2"_"$3"_"$4}')
```
这样,awk 命令的输出结果就会被保存在变量 `rlt` 中。如果你想将 `rlt` 的值赋值给 `name`,可以使用以下命令:
```
name=$rlt
```
这样,`name` 变量的值就变成了 awk 命令的输出结果。然后,你可以使用以下命令打印出 `name` 变量的值:
```
echo $name
```
相关问题
name=${rlt} | awk -F '_' '{print $2"_"$3"_"$4}'
这是一个在 Shell 脚本中使用 awk 命令的语句,其作用是将变量 `name` 中的字符串按照 `_` 分隔符进行拆分,并提取第 2 到第 4 部分,然后再将它们用 `_` 连接起来,最终得到一个新的字符串,保存在变量 `rlt` 中。具体来说,`-F '_'` 表示将 `_` 指定为分隔符,`{print $2"_"$3"_"$4}` 表示打印第 2 到第 4 个字段,并用 `_` 连接起来。
int ResetTypeGet(void) { uint8_t rlt; rlt=0; if(RCC_GetFlagStatus(RCC_FLAG_PORRST)==1) { rlt|=1; } RCC_ClearFlag(); if(rlt==0) { return 1; } else { return 0; } }
这段代码是一个函数,名为ResetTypeGet。它的作用是获取系统复位的类型。函数首先定义了一个变量rlt,并将其初始化为0。然后,通过调用RCC_GetFlagStatus函数来检查RCC_FLAG_PORRST标志位是否被置位(值为1)。如果是,则将rlt的最低位设置为1。接着,通过调用RCC_ClearFlag函数来清除所有的复位标志位。最后,如果rlt等于0,则返回1;否则返回0。
总结起来,这段代码的功能是判断系统复位的类型,并返回相应的结果。
阅读全文