Update dotfiles script to automate xCode CLI tools#39
Update dotfiles script to automate xCode CLI tools#39iamnewton wants to merge 1 commit intonecolas:masterfrom iamnewton:feature/automated-xcode-install
Conversation
- Create a script to check if xCode is installed; if so inform the user, if not run automated install script of xCode CLI tools - Create a recursive script to automate xCode CLI tools; checks version of kernel to ensure user is on 13 or up (Mavericks) as thats when `xcode-select --install` was introduced. Issue: #33
|
Thanks! This looks great. I'm pretty swamped at the moment but will get to this when I next work on my dotfiles. |
|
No problem, you probably don't need this anymore, if you're on OSX 10.9+ & you use the newest version of Homebrew install. They are doing an xCode command line tools install for you now. Although one thing to note about that; it will break your Homebrew installation of If you're interested I've forked your repo and "improved" (depends on your perspective) upon it with more features, such as...
|
There was a problem hiding this comment.
If I remember correctly, type_exists 'gcc' will be true on OS X 10.9, even if XCode is not installed.
For OS X 10.9, I personally use:
if [ $(xcode-select -p &> /dev/null; printf $?) -ne 0 ]; then
xcode-select --install
# ...
fiThere was a problem hiding this comment.
Interesting, I get that xcode-select -p prints out the location of the xCode developer directory if available, (and the redirect to the null device), but what does the printf $? do? Isn't that supposed to print out the previous command?
There was a problem hiding this comment.
what does the
printf $?do?
@chrisopedia printf $? prints the exit code of the last executed command (in this case xcode-select -p &> /dev/null).
There was a problem hiding this comment.
So the assumption here then is that xcode select -p will print out an exit code that is not equal to 0? What happens or is it possible that they could change their exit code? What about if there is no status number with their exit as in just plain exit? Does that still pass?
There was a problem hiding this comment.
What happens or is it possible that they could change their exit code? What about if there is no status number with their exit as in just plain exit? Does that still pass?
@chrisopedia in any UNIX based system every command returns an exit code (from 0-255). 0 means true/successful completion, while != 0 means false/something went wrong.
For more in-depth information, please read: http://tldp.org/LDP/abs/html/exit-status.html.
xcode select -pwill print out an exit code that is not equal to 0?
@chrisopedia xcode-select -p &> /dev/null; printf $? will print out the exit code for xcode-select -p no matter what value it is. Then, -ne 0 will check if that exit code is different then 0, and if it is, then XCode will need to be installed.
There was a problem hiding this comment.
Cool @alrra I'll update my pull request with this new check.
There was a problem hiding this comment.
@chrisopedia again, please note that this is only for OS X 10.9+. :)
if not run automated install script of xCode CLI tools
of kernel to ensure user is on 13 or up (Mavericks) as thats when
xcode-select --installwas introduced.Issue: #33