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
У вас есть возврат каретки в вашем списке. Скорее всего, в списке содержатся оконечные строки. Вам нужно изменить окончания строк только на новую строку. Вы можете попытаться исправить список с помощью
—
fd0
tr -d '\r' < plist > newplist
или найдите текстовый редактор, который использует "unix" окончания строк и перепишите свой список.
Вы хотите создать ответ из своего комментария? Это помогло. Спасибо
—
Radek