Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 21st, 2012  |  syntax: None  |  size: 1.77 KB  |  hits: 20  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. ## Why?
  2.  
  3. When working on a remote machine, or a machine that doesn't have a GUI plist editor on it, the command line may be your only or best option.
  4.  
  5. There are two options present on OS X to help you.
  6.  
  7. # `default`
  8.  
  9. Using the `default` command on OS X can help you get around.
  10.  
  11. ## Reading a plist
  12.  
  13. `-bash-3.2$ defaults read ~/.MacOSX/environment  
  14. {
  15.     PATH = "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin";
  16. }`
  17.  
  18. ## Updating a value in a plist
  19.  
  20. `-bash-3.2$ defaults write ~/.MacOSX/environment PATH "/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/opt/local/bin"                  
  21. -bash-3.2$ defaults read ~/.MacOSX/environment
  22. {
  23.     PATH = "/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/opt/local/bin";
  24. }`
  25.  
  26. # `PlistBuddy`
  27.  
  28. ### Reading a plist
  29.  
  30. `[travelant:~] markhers% /usr/libexec/PlistBuddy /tmp/test.plist
  31. Command: Print
  32. Dict {
  33.     PATH = /usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/opt/local/bin
  34. }`
  35.  
  36. ### Writing to a plist
  37.  
  38. `[travelant:~] markhers% /usr/libexec/PlistBuddy /tmp/test.plist
  39. File Doesn't Exist, Will Create: /tmp/test.plist
  40. Command: Add :PATH string "/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/opt/local/bin"
  41. Command: Print
  42. Dict {
  43.     PATH = /usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/opt/local/bin
  44. }
  45. Command: Save
  46. Saving...
  47. Command: exit
  48. [travelant:~] markhers% cat /tmp/test.plist
  49. <?xml version="1.0" encoding="UTF-8"?>
  50. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  51. <plist version="1.0">
  52. <dict>
  53.         <key>PATH</key>
  54.         <string>/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/opt/local/bin</string>
  55. </dict>
  56. </plist>
  57. `