environment.plist добавляет дополнительные символы?


0

OSX Yosemite 10.10.3

Я использовал environment.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>my.startup</string>
  <key>ProgramArguments</key>
  <array>
    <string>sh</string>
    <string>-c</string>
    <string>
    launchctl setenv CX_LICENSE LS
    launchctl setenv CX_LIC_SERVER 127.0.0.1
    </string>

  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

Когда я иду к терминалу и набираю набор, я получаю это

CX_LICENSE=$'LS\r'
CX_LIC_SERVER=$'127.0.0.1\r'

затем, когда я пытаюсь запустить программу, для которой нужно настроить CX_LICENSE, она не работает.

Если я в открытом новом терминале и запустить CX_LICENSE=LS а затем запустить ту же программу из командной строки, используя open -n application.name он работает правильно.

  • Если я сделаю echo -$CX_LICENSE- в первом терминале я получаю -LS
  • Если я сделаю echo -$CX_LICENSE- во втором терминале я получаю -LS-

Я нахожу это очень странным. Может кто-нибудь объяснить и, возможно, предложить исправить?


Вы имеете в виду ~ / .MacOSX / environment.plist Если так, то это работало только до Mountain Lion
Mark

2
У вас есть возврат каретки в вашем списке. Скорее всего, в списке содержатся оконечные строки. Вам нужно изменить окончания строк только на новую строку. Вы можете попытаться исправить список с помощью tr -d '\r' < plist > newplist или найдите текстовый редактор, который использует "unix" окончания строк и перепишите свой список.
fd0

Вы хотите создать ответ из своего комментария? Это помогло. Спасибо
Radek
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.