From: yvon.thoraval <yvo...@gm...> - 2008-07-23 12:41:57
|
Le 23 juil. 08 à 11:43, Tim Perrett a écrit : > Hey guys, > > Can anyone point me in the right direction with how to save / write to > Plist's? Alternatively, a simple method of persisting some basic data > in XML form on the filesystem. > here is a small ruby script saving my SHELL ENV vars into ~/.MacOSX/ environment.plist : ------------------------------------------------------------------------ ------------------------------------------------ #!/usr/bin/env ruby -w # update_environment_plist require 'fileutils' require 'plist' NOW = Time.now.strftime( "%y_%m_%d__%H_%M_%S" ) MACOSX_ENV_PLIST = "#{ENV['HOME']}/.MacOSX/environment.plist" FORBID_LIST = [ "HOME", "LOGNAME", "OLDPWD", "PWD", "SECURITYSESSIONID", "SHELL", "SHLVL", "USER", "_" ] FileUtils.touch "#{MACOSX_ENV_PLIST}" if !FileTest.exists?( "# {MACOSX_ENV_PLIST}" ) BACKUP = "#{ENV['HOME']}/.MacOSX/environment_#{NOW}.plist" FileUtils.mv( "#{MACOSX_ENV_PLIST}", "#{BACKUP}") zsh_h={} ENV.each{ |k,v| zsh_h[k] = v if !FORBID_LIST.include?( k ) } zsh_h.save_plist( "#{MACOSX_ENV_PLIST}" ) FileUtils.chmod( 0644, "#{MACOSX_ENV_PLIST}" ) ------------------------------------------------------------------------ ------------------------------------------------ best, Yvon |