如果我的environment-variable.ini变量跟环境变量不同,如何用shell脚本修改?
1、我的environment-variable.ini文件内的内容是
export UNIVER_USER_LOGIN='http://127.0.0.1/api/login'
export UNIVER_SEARCH_ORDINARY='http://127.0.0.1/api/search/common'
export UNIVER_SEARCH_LABEL='http://127.0.0.1/api/search/common'
export UNIVER_SEARCH_VIDEO='http://127.0.0.1/api/search/common'
export UNIVER_TASK_MANAGER='http://127.0.0.1/api/task/manager'
export UNIVER_PROJECR_URL='167.210.220.11'
export UNIVER_PROJECR_PORT=667777760011
我的环境变量是
export UNIVER_MONGO_URL='mongodb://10.10.0.49:27017'
export UNIVER_USER_LOGIN='http://demo.kube.univer/api/login'
export UNIVER_SEARCH_ORDINARY='http://demo.kube.univer/api/search/common'
export UNIVER_SEARCH_LABEL='http://127.0.0.1/api/search/common'
export UNIVER_SEARCH_VIDEO='http://127.0.0.1/api/search/common'
export UNIVER_TASK_MANAGER='http://127.0.0.1/api/task/manager'
export UNIVER_PROJECR_URL='67.110.220.11'
export UNIVER_PROJECR_PORT=6677
我希望用shell 脚本判断
如果我的environment-variable.ini中所设置的变量跟我的环境变量相同就不改变环境变量,如果不相同的话,将环境变量修改成environment-variable.ini中的变量
2、这段代码怎么优化
if [ $UNIVER_USER_LOGIN ]; then # 如果 UNIVER_USER_LOGIN 存在
echo ${UNIVER_USER_LOGIN}
else
# echo "export UNIVER_USER_LOGIN='xxx'" >> /etc/profile
grep 'UNIVER_USER_LOGIN' environment-variable.ini >> /etc/profile
fi
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
假设你的environment-variable.ini内容是这样的
我写了一个,能实现,你可以看看,应该有更好的
实现其实不重要,实在太简单了,我谈下我的看法: 慎重修改
/etc/
。为啥?新手不了解,对这个目录没有敬畏之心,太容易把整个系统搞挂了,这个目录的文件一旦改坏了,影响整个系统,严重的甚至整个系统全挂无法启动。比如错误的对整个/etc/使用了chmod/chown -R xxx /etc/
再者,我再次强调一下,不要乱改/etc/profile,这个文件根本不是你想的那样,而且可能改了也不符合你的预期(建议自己阅读shell的启动过程,很多shell和系统在交互式模式下可能不加载这个文件)。不止这个,任何shell默认的
/etc/*rc
配置都不应该乱改。先从思想上纠正一下你的想法。限于篇幅我不说详细原因了,看的资料多了你自然有感悟,乱改/etc/
是新手的做法。那怎么做?环境变量尽可能不要影响其他,实在要改,也不要去改
/etc/
的,改~/.*rc
配置,只影响当前用户,即使改坏不会让整个系统挂掉,而且已与修复。环境变量的作用范围应该限制尽可能小,小到限制到某个程序,而不是所有不相关的程序都要受到影响,懂了吧?所以对于脚本而言,直接把需要的变量写到自己的脚本初始化中,不要受到外部环境变量的干扰,也不要去干扰外部环境变量。服务的环境变量由服务的启动脚本进行初始化,任何时候不要乱改环境变量,更不能把你的环境变量乱写到
/etc/
下去,一旦搞坏后果严重