2010-11-16 2 views
3

Я пытаюсь изменить мои настройки для Textmate, изменив его plist. Вот что у меня есть до сих пор:Как установить логическое значение в объекте массива в plist

defaults write com.macromates.textmate OakShellVariables -array-add '{value = "hello"; variable = "TM_HELLO";}' 

Это добавит новую переменную оболочки для Textmate. Я хочу сделать это через командную строку, чтобы я мог ее скриптировать. Вышеописанное работает отлично, но я также хочу, чтобы активированный ключ (который является логическим) был равен true. К сожалению, я не могу представить правильный синтаксис для достижения этого. Все мои попытки приводят к тому, что ключ включен как строка вместо логического. Например:

defaults write com.macromates.textmate OakShellVariables -array-add '{enabled = true ;value = "hello"; variable = "TM_HELLO";} 

ответ

5

Вот как вы это делаете. Я искал то же самое, и мне довелось встретить ответ. Думал, что поделюсь. Пример, показанный ниже.

defaults write com.apple.dashboard layer-gadgets -array-add "<dict><key>32bit</key><false/></dict>"; 

Эти типы данных:

  • <string></string> - струнные
  • <false/><true/> - булево
  • <real></real> - реальный
  • <integer></integer> - целое
+0

Это лучше использовать, например, -string, -dict и т. д. вместо «», так как Apple позаботится о правильном синтаксисе. Поэтому вы должны быть в безопасности, а также для будущих изменений. – d4Rk

Смежные вопросы