PLISTBUDDY(8) System Manager's Manual PLISTBUDDY(8)

PlistBuddyread and write values to plists

PlistBuddy [-cxlh] file.plist

The PlistBuddy command is used to read and modify values inside of a plist. Unless specified by the -c switch, PlistBuddy runs in interactive mode.

The following commands are used to manipulate plist data:

Prints this information.
Exits the program. Changes are not saved to the file.
Saves the current changes to the file.
Reloads the last saved version of the file.
type
Clears out all existing entries, and creates root of type type. See below for a list of types.
[entry]
Prints value of entry. If an entry is not specified, prints entire file. See below for an explanation of how entry works.
entry value
Sets the value at entry to value.
entry type [value]
Adds entry with type type and optional value value. See below for a list of types.
entrySrc entryDst
Copies the entrySrc property to entryDst.
entry
Deletes entry from the plist.
file [entry]
Adds the contents of plist file to entry.
entry file
Creates or sets entry to the contents of file.

Entries consist of property key names delimited by colons. Array items are specified by a zero-based integer index. Examples:


:CFBundleShortVersionString
:CFBundleDocumentTypes:2:CFBundleTypeExtensions

Entries may be of the following types:


string
array
dict
bool
real
integer
date
data

command
Execute command and exit. By default, PlistBuddy will run in interactive mode.
Output will be in the form of an xml plist where appropriate.
If the path provided contains any symbolic links, they will not be followed.
Print the complete help info.

Set the CFBundleIdentifier property to com.apple.plistbuddy:

Set :CFBundleIdentifier com.apple.plistbuddy

Add the CFBundleGetInfoString property to the plist:

Add :CFBundleGetInfoString string "App version 1.0.1"

Add a new item of type dict to the CFBundleDocumentTypes array:

Add :CFBundleDocumentTypes: dict

Add the new item to the beginning of the array:

Add :CFBundleDocumentTypes:0 dict

Delete the FIRST item in the array:

Delete :CFBundleDocumentTypes:0 dict

Delete the ENTIRE CFBundleDocumentTypes array:

Delete :CFBundleDocumentTypes

PlistBuddy command returns a zero exit status if it succeeds. Non zero is returned in case of failure.

February 19, 2007 Mac OS X