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-
Я нахожу это очень странным. Может кто-нибудь объяснить и, возможно, предложить исправить?
tr -d '\r' < plist > newplist
или найдите текстовый редактор, который использует "unix" окончания строк и перепишите свой список.