免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11257 | 回复: 2

Ruby中可以source .csh环境设置文件吗? [复制链接]

论坛徽章:
0
发表于 2013-11-19 12:34 |显示全部楼层
Ruby中可以source .csh环境设置文件吗?我用system命令试了下,好像不行,请大家帮忙看下,谢谢了。

#!/usr/bin/env ruby

system "source test.csh"
puts "a = #{ENV['SYSTYPE']}"

testcase.tar.gz

4.6 KB, 下载次数: 11

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
发表于 2013-11-20 08:33 |显示全部楼层
NO
system命令: child process

TRY
  1. #!/usr/bin/ruby -w

  2. load 'test.rb'

  3. p ENV['SYSTYPE']
复制代码
test.rb:
  1. #!/usr/bin/ruby

  2. if FileTest::file? 'setup/GetENV'
  3.   systype = `setup/GetENV SYSTYPE`.chomp
  4. end

  5. ENV['SYSTYPE'] = case systype
  6.   when 'SUN64_59', 'SUN64_510' then 'SUN64_58'
  7.   else 'Linux'
  8. end
复制代码

论坛徽章:
0
发表于 2013-11-20 09:34 |显示全部楼层
因为那个test.csh只是一个示例,源文件很长的,所以把test.csh转换为Rube code可能不是最好的方法,或许只能将source过后的环境变量列表保存下来,然后用Ruby的ENV命令处理下,还好这个还不算特别麻烦~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP