Using 'defaults read' and storing the output in a variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using 'defaults read' and storing the output in a variable
# 1  
Old 11-14-2007
Question Using 'defaults read' and storing the output in a variable

Hi all,

I'm creating a script which uses 'defaults read' to retrieve details from an Info.plist like this;

defaults read "/Path/Contents/Info" CFBundleShortVersionString

This works fine in Terminal and returns the expected values.

Is it possible to use this command in a script, and store the output into a variable?

Many thanks in advance Smilie

Dave
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Passing variable as input & storing output in other variable

I have a below syntax its working fine... var12=$(ps -ef | grep apache | awk '{print $2,$4}') Im getting expected output as below: printf "%b\n" "${VAR12}" dell 123 dell 456 dell 457 Now I wrote a while loop.. the output of VAR12 should be passed as input parameters to while loop and results... (5 Replies)
Discussion started by: sam@sam
5 Replies

2. Shell Programming and Scripting

Storing command output in a variable and using cut/awk

Hi, My aim is to get the md5 hash of a file and store it in a variable. var1="md5sum file1" $var1 The above outputs fine but also contains the filename, so somthing like this 243ASsf25 file1 i just need to get the first part and put it into a variable. var1="md5sum file1"... (5 Replies)
Discussion started by: JustALol
5 Replies

3. Shell Programming and Scripting

Defaults read/write question

OSX 10.9 How does "defaults" know where to look for .plists? To expand: defaults read com.apple.finder is located in ~/Library/Preferences but, defaults read com.apple.mail is located in ~/Library/Containers/com.apple.mail/Data/Library/Preferences/com.apple.mail.plist So my question... (0 Replies)
Discussion started by: sudo
0 Replies

4. Shell Programming and Scripting

Storing output into a variable

My script below seems to be choking because I need the the output of the find command to be stored as a variable that can then be called by used lower in the script. #!/bin/bash cd "/resumes_to_be_completed" var1=find . -mmin -1 -type f \( -name "*.doc" -o -name "*.docx" \)... (1 Reply)
Discussion started by: binary-ninja
1 Replies

5. Shell Programming and Scripting

storing output from echo & cut into variable

Hi All, Hope someone can advise here as I have been struggling to find a syntax that works here. I have tried a stack of combination I have seed in the forums but I think because I have needed to use "" and `` in the statments another method is found. I am reading in lines with the following... (1 Reply)
Discussion started by: nkwilliams
1 Replies

6. UNIX for Dummies Questions & Answers

Storing lines of output into a script variable

I'm sure this is a simple thing but I can't figure it out. In a script that I'm writing, I'd like to be able to store each line of output from "ls -l" into a variable. Ultimately I'd like to end up with something like: for a in `ls -l` do something with $a doneBut that's reading each... (2 Replies)
Discussion started by: ewoods
2 Replies

7. UNIX Desktop Questions & Answers

problem while storing the output of awk to variable

Hi, i have some files in one directory(say some sample dir) whose names will be like the following. some_file1.txt some_file2.txt. i need to get the last modified file size based on file name pattern like some_ here i am able to get the value of the last modified file size using the... (5 Replies)
Discussion started by: eswarreddya
5 Replies

8. UNIX for Dummies Questions & Answers

Using defaults read to get value from plist

Hi there, I'm trying to retrieve a value from a plist file, which I have done before with no problems, however this plist file looks a little different.... Normally it's like this; <plist version="1.0"> <dict> key>KeyName</key> <string>blah</string> I want the value of KeyName, so... (1 Reply)
Discussion started by: davewg
1 Replies

9. UNIX for Dummies Questions & Answers

Storing the output into a variable

Hi unix gurus, I am trying to store the result of a command into a variable. But it is not getting stored. x='hello' y=echo $x | wc -c but it is giving the output as 0(zero) Pls help me its very urgent (7 Replies)
Discussion started by: ravi raj kumar
7 Replies

10. Shell Programming and Scripting

storing output of awk in variable

HI I am trying to store the output of this awk command awk -F, {(if NR==2) print $1} test.sr in a variable when I am trying v= awk -F, {(if NR==2) print $1} test.sr $v = awk -F, {(if NR==2) print $1} test.sr but its not working out . Any suggestions Thanks Arif (3 Replies)
Discussion started by: mab_arif16
3 Replies
Login or Register to Ask a Question
DEFAULTS(1)						    BSD General Commands Manual 					       DEFAULTS(1)

NAME
defaults -- access the Mac OS X user defaults system SYNOPSIS
defaults [-currentHost | -host hostname] read [domain [key]] defaults [-currentHost | -host hostname] read-type domain key defaults [-currentHost | -host hostname] write domain { 'plist' | key 'value' } defaults [-currentHost | -host hostname] rename domain old_key new_key defaults [-currentHost | -host hostname] delete [domain [key]] defaults [-currentHost | -host hostname] { domains | find word | help } DESCRIPTION
Defaults allows users to read, write, and delete Mac OS X user defaults from a command-line shell. Mac OS X applications and other programs use the defaults system to record user preferences and other information that must be maintained when the applications aren't running (such as default font for new documents, or the position of an Info panel). Much of this information is accessible through an application's Prefer- ences panel, but some of it isn't, such as the position of the Info panel. You can access this information with defaults Note: Since applications do access the defaults system while they're running, you shouldn't modify the defaults of a running application. If you change a default in a domain that belongs to a running application, the application won't see the change and might even overwrite the default. User defaults belong to domains, which typically correspond to individual applications. Each domain has a dictionary of keys and values rep- resenting its defaults; for example, "Default Font" = "Helvetica". Keys are always strings, but values can be complex data structures com- prising arrays, dictionaries, strings, and binary data. These data structures are stored as XML Property Lists. Though all applications, system services, and other programs have their own domains, they also share a domain named NSGlobalDomain. If a default isn't specified in the application's domain, but is specified in NSGlobalDomain, then the application uses the value in that domain. The commands are as follows: read Prints all of the user's defaults, for every domain, to standard output. read domain Prints all of the user's defaults for domain to standard output. read domain key Prints the value for the default of domain identified by key. read-type domain key Prints the plist type for the given domain identified by key. write domain key 'value' Writes value as the value for key in domain. value must be a property list, and must be enclosed in single quotes. For exam- ple: defaults write com.companyname.appname "Default Color" '(255, 0, 0)' sets the value for Default Color to an array containing the strings 255, 0, 0 (the red, green, and blue components). Note that the key is enclosed in quotation marks because it contains a space. write domain 'plist' Overwrites the defaults information in domain with that given as plist. plist must be a property list representation of a dic- tionary, and must be enclosed in single quotes. For example: defaults write com.companyname.appname '{ "Default Color" = (255, 0, 0); "Default Font" = Helvetica; }'; erases any previous defaults for com.companyname.appname and writes the values for the two names into the defaults system. delete domain Removes all default information for domain. delete domain key Removes the default named key from domain. domains Prints the names of all domains in the user's defaults system. find word Searches for word in the domain names, keys, and values of the user's defaults, and prints out a list of matches. help Prints a list of possible command formats. OPTIONS
Specifying domains: domain If no flag is specified, domain is a domain name of the form com.companyname.appname. Example: defaults read com.apple.TextEdit -app application The name of an application may be provided instead of a domain using the -app flag. Example: defaults read -app TextEdit filepath Domains may also be specified as a path to an arbitrary plist file, with or without the '.plist' extension. For example: defaults read ~/Library/Containers/com.apple.TextEdit/Data/Library/Preferences/com.apple.TextEdit.plist normally gives the same result as the two previous examples. In the following example: defaults write ~/Desktop/TestFile foo bar will write the key 'foo' with the value 'bar' into the plist file 'TestFile.plist' that is on the user's desktop. If the file does not exist, it will be created. If it does exist, the key-value pair will be added, overwriting the value of 'foo' if it already existed. WARNING: The defaults command will be changed in an upcoming major release to only operate on preferences domains. General plist manipulation utilities will be folded into a different command-line program. -g | -globalDomain | NSGlobalDomain Specify the global domain. '-g' and '-globalDomain' may be used as synonyms for NSGlobalDomain. Specifying value types for preference keys: If no type flag is provided, defaults will assume the value is a string. For best results, use one of the type flags, listed below. -string Allows the user to specify a string as the value for the given preference key. -data Allows the user to specify a bunch of raw data bytes as the value for the given preference key. The data must be provided in hexidecimal. -int[eger] Allows the user to specify an integer as the value for the given preference key. -float Allows the user to specify a floating point number as the value for the given preference key. -bool[ean] Allows the user to specify a boolean as the value for the given preference key. Value must be TRUE, FALSE, YES, or NO. -date Allows the user to specify a date as the value for the given preference key. -array Allows the user to specify an array as the value for the given preference key: defaults write somedomain preferenceKey -array element1 element2 element3 The specified array overwrites the value of the key if the key was present at the time of the write. If the key was not present, it is created with the new value. -array-add Allows the user to add new elements to the end of an array for a key which has an array as its value. Usage is the same as -array above. If the key was not present, it is created with the specified array as its value. -dict Allows the user to add a dictionary to the defaults database for a domain. Keys and values are specified in order: defaults write somedomain preferenceKey -dict key1 value1 key2 value2 The specified dictionary overwrites the value of the key if the key was present at the time of the write. If the key was not present, it is created with the new value. -dict-add Allows the user to add new key/value pairs to a dictionary for a key which has a dictionary as its value. Usage is the same as -dict above. If the key was not present, it is created with the specified dictionary as its value. Specifying a host for preferences: Operations on the defaults database normally apply to any host the user may log in on, but may be restricted to apply only to a specific host. If no host is provided, preferences operations will apply to any host the user may log in on. -currentHost Restricts preferences operations to the host the user is currently logged in on. -host hostname Restricts preferences operations to hostname. BUGS
Defaults can be structured in very complex ways, making it difficult for the user to enter them with this command. HISTORY
First appeared in NeXTStep. Mac OS X Nov 3, 2003 Mac OS X