IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    shell从文件中赋值给变量

    maplebeats (maplebeats@gmail.com)发表于 2011-12-12 00:00:00
    love 0

    我打算给我的playV加上记录时间点的功能,于是要把时间保存在文件里,下次再直接从文件里读取.
    一开始设想的是用管道加上read把文件里的参数赋给open_time和end_time

    while read x y;do echo $x $y ;done < file

    表面上输出是成功了,但是这样子赋的值并不能使用.这是在子shell中运行的,成局部变量了.在while以外是不能调用的.
    搜了半天,终于找到解决办法了.可以用重定向防止开启子shell.
    于是乎就有了下面的语句

    n=0
    	  while read line
    	  do
    		  array[$n]=$line
    		  ((n++))
    	  done < file

    好吧,其实我也不是很明白为什么会这样子,我感觉两个shell都差不多。:)
    playV script.



沪ICP备19023445号-2号
友情链接