คำถามติดแท็ก environment-variables

ตัวแปรสภาพแวดล้อมใช้เพื่อสร้างการตั้งค่าที่ใช้ร่วมกันซึ่งคงอยู่ระหว่างการเรียกใช้แอปพลิเคชัน ใช้เพื่อให้ข้อมูลเช่นพา ธ ไปยังไดเร็กทอรีที่สำคัญข้อมูลผู้ใช้และโปรแกรมข้อมูลอื่น ๆ ที่จำเป็นสำหรับงานทั่วไป

7
ฉันจะตั้งค่าตัวแปรสภาพแวดล้อมบน OS X ได้อย่างไร
ฉันมักจะลำบากในการตั้งค่าตัวแปรสภาพแวดล้อมใน OS X เช่น JAVA_HOME, M2_HOME หรือ PATH. วิธีการตั้งค่าเหล่านี้ใน OS X Mavericks ฉันได้ทำการวิจัยแล้ว แต่คำตอบที่ฉันพบยังไม่ได้ช่วยฉัน: export JAVA_HOME=/... (แต่ดูเหมือนว่าการเปลี่ยนแปลงจะเกิดขึ้นชั่วคราวเพียงแค่หนึ่งเซสชันเทอร์มินัล) setenv JAVA_HOME=/... (แต่ไม่พบคำสั่ง) เปิด .profile และเขียนตัวแปรภายในเพื่อทำการเปลี่ยนแปลงอย่างถาวร - ( .profile ไม่ได้อยู่). เปิด .bash_profile และเขียนตัวแปรภายในเพื่อทำการเปลี่ยนแปลงอย่างถาวร - ( .bash_profile ไม่ได้อยู่). vi ~/.bash_profile ค่อนข้างท้าทายสำหรับคนที่ไม่รู้ vi.) สร้างของคุณเอง enrivonment.plist ไฟล์. ใครบางคนช่วยพาฉันผ่านขั้นตอนต่าง ๆ เพื่อให้ใช้งานได้บน OS X Mavericks โดยสมมติว่า ไม่ ยูนิกซ์โนว์ฮาว?

5
ตัวแปรสภาพแวดล้อมของระบบตั้งอยู่ที่ไหนใน Mountain Lion
ในสิงโต (และรุ่นก่อนหน้า) .MacOSX/environment.plistมันอยู่ใน หลังจากอัปเกรดเป็น 10.8 ไฟล์ยังคงอยู่ แต่ตัวแปรไม่ทำงาน ฉันได้ลองเพิ่มเข้าไป/etc/launchd.confแล้วพวกเขาจะปรากฏใน Terminal แต่ไม่ใช่แอปพลิเคชัน GUI (เช่น IDE ของฉัน)

8
การตั้งค่าตัวแปรสภาพแวดล้อม PATH ทั่วทั้งระบบใน Mavericks
ในระบบปฏิบัติการเวอร์ชันก่อนหน้าหนึ่งสามารถตั้งค่าตัวแปรสภาพแวดล้อมของระบบ PATH ได้/etc/launchd.confเพื่อให้พร้อมใช้งานสำหรับแอปทั้งหมด (ไม่ใช่แค่บรรทัดคำสั่ง) ใน Mavericks สิ่งนี้ดูเหมือนจะไม่ได้ใช้อีกต่อไป มีเทคนิคในการทำสิ่งนี้ใน mavericks อีกหรือไม่

6
วิธีตั้งค่าตัวแปรสภาพแวดล้อมทั้งระบบใน OS X Mavericks
เราเคยใช้/etc/environmentเพื่อตั้งค่าตัวแปรสภาพแวดล้อมทั้งระบบบน Mountain Lion อย่างไรก็ตามดูเหมือนว่าไฟล์นี้จะไม่อ่านอีกต่อไป เป็นการดีที่โซลูชันควรใช้กับผู้ใช้ทั้งหมดและเราต้องการให้ทำงานกับเซสชันคอนโซล ssh ดังนั้นเราต้องการสิ่งนี้ในการทำงาน ssh user@mavericks-machine 'echo $MY_ENV_VAR' จนถึงตอนนี้เราได้พยายาม: /etc/launchd.conf ใช้งานได้กับผู้ใช้ทั้งหมด แต่ใช้กับแอปพลิเคชัน 'ที่มีหน้าต่าง' เท่านั้นเช่นทำงานใน Terminal แต่ไม่ได้อยู่ในเซสชัน ssh ~/.profile, ~/.bash_profileฯลฯ ใช้กับหอยเท่านั้น ข้อเสนอแนะใด ๆ

6
วิธีเพิ่ม MySQL ในตัวแปร $ PATH เพื่อแก้ไข“ mysql: ไม่พบคำสั่ง”?
ฉันติดตั้ง MySQL บน Mac ของฉันและตอนนี้ฉันต้องการเพิ่มลงใน$PATHตัวแปรของฉัน ฉันต้องการที่จะสามารถพิมพ์mysqlได้ทุกที่ ฉันพยายามเพิ่มสิ่งต่อไปนี้ใน.profileไฟล์ของฉัน: export PATH=${PATH}/usr/local/mysql/bin/ ฉันรีสตาร์ท Terminal ของฉันแล้ว แต่ไม่ได้ทำการหลอก มันยังบอกว่า: -bash: mysql: command not found. ฉันจะเพิ่มสิ่งนี้ให้ถูกต้องได้$PATHอย่างไร ฉันใช้ OS X Yosemite

3
ใน OSX Yosemite ทำไมฉันถึงตั้งค่าตัวแปรสภาพแวดล้อมมากมายสำหรับแอพ GUI แต่ไม่สามารถตั้งค่า PATH ตัวแปรที่เฉพาะเจาะจงได้
หลังจากที่ฉันแยกแยะปัญหา PATH ของ OSXจนถึงรุ่น Mavericks ปัญหากลับมาที่ Yosemite !!! ดังนั้นผมจึงต้องการที่จะเลียนแบบเก่าlaunch.confคุณลักษณะใหม่ใน Mac OSX 10.10 Yosemite ปล่อยเพื่อให้มีตัวแปรสภาพแวดล้อมของเส้นทางใน GUI ปพลิเคชันเช่นคาร์บอน EmacsหรือRStudioใช้ได้ ผมใช้ความคิดที่ดีของผู้ใช้ StackOverflow Ursalaunchctlการตั้งค่าเชลล์สคริปต์ซึ่งกำหนดค่าตัวแปรสภาพแวดล้อมผ่าน (โปรดดูคำตอบ StackOverflow ของเขาที่นี่ .) งานนี้สำหรับตัวแปรสภาพแวดล้อมมากที่สุดแต่ไม่ได้สำหรับตัวแปรเส้นทาง 1. ฉันได้ทำอะไรไปแล้ว ครั้งแรกที่ฉันเขียน /etc/environment.rcสคริปต์ดูเหมือนว่า: launchctl setenv PATH /Users/halloleo/bin:/usr/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin launchctl setenv JAVA_HOME /usr/local/jdk1.7 launchctl setenv ENVIRONMENT_RC "yes" จากนั้นฉันสร้าง Plists สำหรับlaunchd(รายการเหล่านี้และสคริปต์อื่น ๆ ที่กล่าวถึงในภาคผนวกด้านล่าง) จากนั้นฉันก็เปิดใช้งานพวกเขาด้วย $ sudo launchctrl …

4
วิธีการเปลี่ยนตัวแปรสภาพแวดล้อม PATH เป็น OS X 10.8 Mountain Lion ที่จะมองเห็นได้ในแอปพลิเคชัน GUI [ซ้ำ]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว : วิธีตั้งค่า PATH สำหรับแอปพลิเคชั่นที่เปิดใช้ Finder (8 คำตอบ) ปิดให้บริการใน4 ปีที่แล้ว ฉันลองใช้วิธีการทั้งหมดที่ฉันเคยได้ยินเกี่ยวกับการตั้งค่าตัวแปรสภาพแวดล้อมบน OS X 10.8 แต่ดูเหมือนว่าไม่มีวิธีใดที่ทำงานได้ ในการทดสอบให้รันสคริปต์ทุบตีจากภายในแอปพลิเคชั่น gui เช่น Eclipse หรือ IntelliJ IDEA #!/bin/bash set|grep PATH สิ่งที่ฉันทดสอบและที่ไม่ทำงานแม้หลังจากรีบูต: /etc/paths และ /etc/paths.d/something /etc/launchd.conf ~/.bash_profile ~/.MacOSX/environment.plist (ผู้วางแผนไบนารีทำตามที่แนะนำ) เรียกใช้launchctl setenv PATH $PATHจากบรรทัดคำสั่งนี่ควรอัปเดต PATH สำหรับแอพ GUI อย่างน้อยสำหรับเซสชันปัจจุบัน คาดเดาสิ่งที่ไม่มีการเปลี่ยนแปลง ดูเหมือนว่า PATH นั้นใช้PATH=/usr/bin:/bin:/usr/sbin:/sbinสำหรับแอป GUI เสมอ

1
ไม่สามารถตั้งค่า DYLD_FALLBACK_LIBRARY_PATH ในเชลล์บน OSX 10.11.1
ในเชลล์สคริปต์ที่ใช้สำหรับการทดสอบหน่วยด้วยไลบรารีแบบไดนามิกในไดเรกทอรีอื่นที่ไม่ใช่ @rpath ทั่วไปก่อนหน้านี้ฉันสามารถตั้งค่า DYLD_FALLBACK_LIBRARY_PATH ก่อนหน้านี้เพื่อตั้งค่าไดเรกทอรีที่มีไลบรารี ภายใต้ 10.11.1, bash ดูเหมือนจะไม่สนใจความพยายามในการตั้งค่าตัวแปรสภาพแวดล้อมนี้: $ sh -x testscript.sh + DYLD_FALLBACK_LIBRARY_PATH=/Users/something/testinglibs + export DYLD_FALLBACK_LIBRARY_PATH + exec printenv และ DYLD_FALLBACK_LIBRARY_PATH ไม่มีอยู่ในเอาต์พุตของ printenv นี่เป็นแฮ็คที่เกี่ยวข้องกับความปลอดภัยในเชลล์ของ 10.11 หรือไม่ ฉันไม่พบการเปลี่ยนแปลงนี้ที่บันทึกไว้ใน man pages หรือ online

3
ใน Mountain Lion ฉันจะตั้งค่าได้อย่างไรในที่เดียวตัวแปรสภาพแวดล้อม PATH สำหรับแอปพลิเคชันที่เพิ่งเปิดตัวใหม่ทั้งหมด?
มีคำถามมากมายเกี่ยวกับPATHตัวแปรสภาพแวดล้อมและวิธีตั้งค่าสำหรับแอปพลิเคชันที่เปิดตัวโดยเชลล์โดยสปอตไลท์หรือผ่านตัวค้นหา (คำถามทั่วไป: วิธีตั้งค่า PATH สำหรับแอปพลิเคชันที่เปิดตัว Finderหรือวิธีเปลี่ยนตัวแปรสภาพแวดล้อม PATH .. ) คำตอบช่วงจากshสคริปต์เริ่มต้นที่จะไป/etc/paths /etc/launchd.confฉันอยู่ที่นี่หลังจากคำตอบสำหรับการตั้งค่าแบบรวมของPATHแอพทั้งหมดใน Mac OS X Mountain Lion 10.8.2

2
ปัญหาการติดตั้งรุ่น Ruby ผ่าน RVM ใน Mountain Lion
ดังนั้นฉันเพิ่งเข้าร่วมโลก Mac และซื้อ MacBook - ซึ่งฉันชอบที่สุด ฉันมีปัญหาในการติดตั้งเครื่องมือ dev ทั้งหมดของฉันอย่างถูกต้องและฉันไม่ค่อยคุ้นเคยกับความแตกต่างใน Linux CLI และ OSX CLI ตอนนี้ฉันกำลังพยายามติดตั้ง Ruby รุ่นอื่น ๆ ผ่าน RVM ฉันพยายามรับ gcc4.2 ตามที่ฉันเห็นแนะนำ แต่ไม่คำนึงถึงคอมไพเลอร์ที่ฉันใช้ฉันได้รับข้อความที่คล้ายกัน ในนี้ฉันพยายามติดตั้ง 2.0.0-preview2 แต่ฉันได้รับข้อความเดียวกันสำหรับเวอร์ชั่นอื่นด้วย: $ rvm install 2.0.0-preview2 No binary rubies available for: downloads/ruby-2.0.0-preview2. Continuing with compilation. Please read 'rvm mount' to get more information on binary …

2
การเมาท์กำลังเพิ่มการตั้งค่าสถานะการกักกันก่อให้เกิด: / bin / bash: ล่ามที่ไม่ดี: ไม่อนุญาตให้ใช้งาน - แต่ไม่ใช่ผู้ต้องสงสัยตามปกติ
ตกลงฉันมีปัญหาคล้ายกับ: -bash: Applications / mvim: / bin / sh: ล่ามไม่ดี: ไม่อนุญาตให้ใช้งาน - แต่มันไม่ใช่ปัญหาเดียวกัน ฉันได้รับผลลัพธ์เดียวกัน ฉันได้ตรวจสอบแล้วว่าไม่ใช่ธง com.apple.quarantine มันไม่ได้จบสาย (สคริปต์ที่ถูกสร้างขึ้นมาจาก vi) ฉันสามารถรันสคริปต์โดยใช้: bash simpleshell.sh นี่คือผลลัพธ์: fawkes:tmp kylar$ vi simpleshell.sh fawkes:tmp kylar$ chmod +x simpleshell.sh fawkes:tmp kylar$ ./simpleshell.sh -bash: ./simpleshell.sh: /bin/bash: bad interpreter: Operation not permitted fawkes:tmp kylar$ cat simpleshell.sh #!/bin/bash export FOO=Hey …

2
ตั้งค่าตัวแปร PATH เพื่อให้สามารถตรวจพบได้ในทุกแอปพลิเคชันแม้จะอยู่นอกอาคาร (กัปตันเอล)
~/etc/pathหน้าตาของฉันเป็นดังนี้: /usr/local/bin /usr/bin /bin /usr/sbin /sbin ปัญหา: เมื่อฉันพิมพ์echo $PATHเทอร์มินัลฉันจะกลับมา: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin และสิ่งนี้ยังคงมีอยู่สำหรับทุกแอปพลิเคชันที่เริ่มต้นในเทอร์มินัล ตัวอย่างเช่นถ้าฉันพิมพ์emacsแล้วทำ: M-x getenv PATH ผลลัพธ์ของฉันคือ: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin แต่ถ้าฉันเริ่มต้นขึ้น emacs ใช้ Launchpad แทนขั้วและอีกครั้งที่ใส่เอาท์พุทของฉันคือแทนM-x getenv PATH/usr/bin:/bin:/usr/sbin:/sbin ในขณะที่คุณสามารถเห็นการเปลี่ยนแปลงของฉัน~/etc/pathซึ่งเป็นส่วนที่เพิ่มของ/usr/local/binหายไป ตัวอย่างอื่น: ฉันใช้ปลั๊กอิน Firefox ที่เรียกว่าvimperatorซึ่งเลียนแบบฟังก์ชั่น vim ใน Firefox มันมีคุณสมบัติที่ช่วยให้ผู้ใช้สามารถแก้ไขการป้อนข้อมูลหน้าเว็บในกลุ่ม แต่นี้ไม่ได้ดูเหมือนจะทำงานบน OS X ได้ในลางสังหรณ์ผมพิมพ์คำสั่ง!echo $PATHลงใน vimperator /usr/bin:/bin:/usr/sbin:/sbinและดูต่อไปนี้: แน่นอนตั้งแต่ symlink ที่เรียกว่าgvimซึ่งชี้ไปที่macvimถูกสร้างขึ้นและวางไว้/usr/local/binโดยชงพฤติกรรมนี้ทำให้รู้สึก สิ่งที่ฉันไม่เข้าใจคือเหตุผลที่PATHอ่านในแบบที่มันเป็น วิธีแก้ปัญหาที่ฉันได้ลอง: เห็นได้ชัดว่าฉันได้รีสตาร์ทเครื่อง แก้ไข (ตามที่ร้องขอโดยความคิดเห็นที่ถูกลบตอนนี้): การใช้งานsysctl user.cs_pathในเครื่องปลายทาง: …

1
ใน Mountain Lion เหตุใดเชลล์ระยะไกลผ่าน ssh จะไม่สืบทอดสภาพแวดล้อมของโปรเซสแม่ของ launchd?
เมื่อลงชื่อเข้าใช้ Mac Lion ของฉันจากระยะไกลผ่านทาง ssh ฉันไม่ได้รับเหมือนกัน PATH ตัวแปรเมื่อฉันเปิดเชลล์ภายใน: เชลล์โลคัลสืบทอดสภาพแวดล้อมตามที่คาดไว้ launchd และดังนั้นจึงมีค่าเส้นทางที่ฉันตั้งไว้ /etc/launchd.conf. ด้วยเปลือกระยะไกลฉันรู้สึกประหลาดใจ: เมื่อฉันเปิดเปลือกผ่าน ssh มันทำ ไม่ สืบทอดตัวแปรสภาพแวดล้อมที่ตั้งค่า /etc/launchd.conf แม้ว่าที่เกี่ยวข้อง ssh กระบวนการทั้งหมดมี launchd ในฐานะผู้ปกครอง ทำไม??? ตัดจาก ps -ef เอาท์พุทแสดง: UID PID PPID C STIME TTY TIME CMD 0 1 0 0 Mon01PM ?? 9:07.07 /sbin/launchd . . . 501 150 …


2
ตั้งค่าตัวแปรสภาพแวดล้อมสำหรับแอพ GUI หรือไม่
การเปลี่ยนจาก Windows เป็น Mac ใน Windows ฉันมีการตั้งค่าตัวแปรสภาพแวดล้อมมากมายที่ฉันใช้เพื่อเพิ่มความเร็วในการทำงาน คิดว่าเหมือน DEVDIR=C:\WORKDOCS\DOCS_jaravj\PROJ\dev DOCDIR=C:\WORKDOCS\DOCS_jaravj PERS=C:\WORKDOCS\DOCS_jaravj\Personal PROD=C:\WORKDOCS\DOCS_jaravj\PROJ\PROD SVN=C:\WORKDOCS\DOCS_jaravj\PROJ\SVN_CO_Tort ฯลฯ ... นั่นและ "เวทมนต์" ของการเติมข้อความอัตโนมัติในกล่อง "เรียกใช้" และในกล่องโต้ตอบบันทึก / เปิดไฟล์ทำให้ฉันเคลื่อนที่ได้อย่างรวดเร็ว ฉันตั้งค่า env ที่เทียบเท่ากันแล้ว ตัวแปรในเชลล์และฉันสามารถ cd และ mv และอื่น ๆ ไปยังไดเรกทอรีที่เหมาะสม แต่ฉันไม่พบวิธีที่จะทำสิ่งที่คล้ายกับแอพ GUI เพื่อให้ฉันสามารถใช้ทางลัดเดียวกันในแอปพลิเคชัน ... ฉันได้ปฏิบัติตามคำแนะนำในhttps://stackoverflow.com/questions/135688/setting-environment-variables-in-os-xเพื่อเพิ่ม env vars ไปยัง /etc/launchd.conf แต่เมื่อฉันจะบันทึก ไฟล์ (ตัวอย่าง) ฉันไม่สามารถใช้ $ PROJ ใน "ตัวเลือกไดเรกทอรี" และบันทึกไฟล์ไว้ที่นั่น …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.