有时候shell中某些变量总是不能被改变是什么原因
2024-08-26 17:53:46
答:在子shell执行,那么变量的值总是不能如愿以偿的改变,示例如下:
#!/bin/sh
var="jello"
cat "jello.txt" | while read line
do
var=${line}
done
echo "var=${var}"
看见示例中的管道了吗!这是个陷阱,会导致while在子shell 中执行,以至于var的值并没有被改变
解决方法:
#!/bin/sh
while read line
do
var=${line}
done < "jello.txt" echo "var=${var}"
最新文章
- SQL Server常见问题介绍及快速解决建议
- problem-eclipse创建maven项目报错
- saiku执行速度慢
- Codeforces Round #372 (Div. 1) B. Complete The Graph (枚举+最短路)
- 在java中HttpServletResponse响应中文出现乱码。
- SGU 163.Wise King
- postgresql 多实例运行
- linux面试
- 保存和恢复 Android Fragment 的状态
- 常见浏览器的宽高代码写法!有原生JavaScript和jquery两种写法-------------------------------以及我的个人网站
- InnoDB关键特性之自适应hash索引
- 20ViewPager demo1,2:接收ViewPager展示View的使用
- 【POJ 1179】Polygon
- 51单片机学习笔记(清翔版)(13)——LED点阵、74HC595
- ucos获得系统时间OSTimeGet();
- Android Locale
- Hadoop学习之路(十三)MapReduce的初识
- 做题记录 To 2019.2.13
- NAND FLASH驱动程序
- printf回到上一行开头以及回到本行开头的方法