如何在shell脚本中使用环境变量的值

阅读: 评论:0

如何在shell脚本中使用环境变量的值

如何在shell脚本中使用环境变量的值

1、问题的由来

#此处展示的是脚本的一部分
if [ ${Update_mode} -eq 0 ] ; thenTF_update
else UDS_update
fi

说明:Update_mode是一个环境变量,TF_update和UDS_update是两个函数。

起初,我不知道环境变量这样直接使用会出现错误,我认为,环境变量在脚本中我可以直接拿来使用,殊不知,这种认知是错误的。

然后,脚本运行起来就出现问题了。

sh: 0: unknown operand

这句话的含义就是我那边的if条件判断语句出错了,意思是未知操作数。我查阅了网上的资料,才认识到,环境变量不能像我这样直接拿来用,脚本他不知道我定义了什么

2、问题的解决

但是,应该怎么解决呢?

因为,shell这边判断条件语句出错后,脚本直接就不执行if这个分支下的任何东西了,直接转而执行else中的分支语句去了,显然,这样是不能满足我们的要求的。

我想了很久,也在网上查了很久,只想到一种“曲线救国”的办法,因为linux下使用fw_printenv读取、fw_setenv修改uboot环境变量

我直接在脚本中,用反引号执行一条查看这个环境变量的值的命令

if [ `fw_printenv -n update_mode` -eq 0 ] ; thenTF_update
elseUDS_update
fi

注意,`fw_printenv -n update_mode`这里是反引号

然后,我就往多了想,我其实也可以将这个值,读取出来,然后,保存下来

val=`fw_printenv -n update_mode`,这样,我的这个值就被保存在了val之中。

当然,我感觉还有更高级的办法可以解决这个问题,目前我还没想到

本文发布于:2024-01-31 21:24:37,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170670747731454.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:脚本   环境变量   如何在   shell
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23