macos Mac OS X 10.9-إعداد متغيرات البيئة الدائمة



bash environment-variables (4)

كيف يمكنني تعيين متغير بيئة دائمة (أي لا يحتاج إلى تصدير في كل مرة أبدأ فيها جلسة عمل طرفية جديدة) في نظام التشغيل Mac OS X 10.9؟ لقد وجدت عددًا من الإجابات حول تعديل ملفي .bash_profile و .profile ، ولكن يبدو أن أيا من هذه الخيارات لا يعمل كحل دائم - مؤقت فقط. المتغير الذي أحاول ضبطه هو MULE_HOME . لدي السطر التالي في ملف تعريف bash الخاص بي:

export MULE_HOME=$(/opt/mule-standalone-3.4.0)

ومع ذلك ، عند بدء تشغيل المحطة الطرفية ، أحصل على السطر التالي (لست متأكدًا مما إذا كان هذا سلوكًا طبيعيًا؟):

-bash: /opt/mule-standalone-3.4.0: is a directory

يؤدي تشغيل أمر env البسيط إلى إرجاع ما يلي:

TERM_PROGRAM=Apple_Terminal
SHELL=/bin/bash
TERM=xterm-256color
TMPDIR=/var/folders/fc/68bqp4jj411gynj5qvwhq6z1shs1fy/T/
Apple_PubSub_Socket_Render=/tmp/launch-xKtkql/Render
TERM_PROGRAM_VERSION=326
TERM_SESSION_ID=E97BFE4B-AF85-4933-B252-0883CC085349
USER=dan
SSH_AUTH_SOCK=/tmp/launch-rEmTWW/Listeners
__CF_USER_TEXT_ENCODING=0x730C85DE:0:0
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
__CHECKFIX1436934=1
PWD=/Users/dan
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
LANG=en_GB.UTF-8
MULE_HOME=
SHLVL=1
HOME=/Users/dan
LOGNAME=danwiseman
_=/usr/bin/env

للتغلب على هذا ، أحتاج حاليًا إلى كتابة export MULE_HOME=/opt/mule-standalone-3.4.0 كل مرة أبدأ فيها جلسة عمل طرفية جديدة والتي ، على الرغم من أنها ليست مضنية ، غير مريحة بعض الشيء. ما الذي أفعله خطأ هنا والذي يتسبب في تعيين المتغير مؤقتًا فقط؟ شكرا لك مقدما.


Answer #1

يبدو أن Apple تواصل تغيير كيفية القيام بذلك. والأمر كله يتعلق بالسياق. طريقة واحدة لا تعمل بالضرورة عندما طريقة أخرى. كنت في حاجة إليها للعمل في IDE ، ولم يذكر أي من ملفات bash هنا (أسلوب Linux) ذلك. الطريقة الحالية لتطبيقات واجهة المستخدم الرسومية لاحترام هذا على أساس دائم هي SUPER معظمها مقارنة بنظامي التشغيل Windows و Linux!

باختصار ، لقد كتبت كومة كبيرة من XML القبيح في ملف plist لتشغيل بعض bash. ينتقل إلى دليل "وكلاء الإطلاق" ، أي ~/Library/LaunchAgents/my.startup.plist . إليك مؤشر ترابط Exchange Stack آخر حول الموضوع:

https://apple.stackexchange.com/questions/106355/setting-the-system-wide-path-environment-variable-in-mavericks

يمنحك ذلك نسخة ولصق كاملة يمكنك تعديلها لتعيين المتغير الخاص بك.


Answer #2

إسقاط بت $(...) ، والذي سيحاول تنفيذ الأمر داخل الأقواس وتعيين $MULE_HOME إلى أي شيء ينتج. في حالتك / /opt/mule-standalone-3.4.0 ليست قابلة للتنفيذ ، وبالتالي الخطأ الذي تحصل عليه.

export MULE_HOME=/opt/mule-standalone-3.4.0

واستخدام ~/.bashrc لا ~/.bash_profile .

تحرير: يبدو أن الرأي هو أنه يجب عليك تعيين متغيرات البيئة في البرنامج النصي ~/.bash_profile ، وليس ~/.bashrc script.


Answer #3

فقط فعلت هذا حقا سهلة وسريعة. أولاً قم بإنشاء ~ / .bash_profile من المحطة الطرفية:

touch ~/.bash_profile

ثم

open -a TextEdit.app ~/.bash_profile

إضافة

export TOMCAT_HOME=/Library/Tomcat/Home

احفظ المستند في TextEdit وقد انتهيت.


Answer #4

يمكنك وضع بيان التصدير الخاص بك في ~/.bashrc





osx-mavericks