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

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

11
วิธีเพิ่มเส้นทางไปยัง PATH อย่างถูกต้องได้อย่างไร
ฉันสงสัยว่าจะต้องเพิ่มพา ธ ใหม่ในPATHตัวแปรสภาพแวดล้อมที่ไหน ฉันรู้ว่านี่สามารถทำได้โดยการแก้ไข.bashrc(ตัวอย่าง) แต่ยังไม่ชัดเจนว่าจะทำอย่างไร ทางนี้: export PATH=~/opt/bin:$PATH หรือสิ่งนี้ export PATH=$PATH:~/opt/bin

5
“ LC_ALL = C” ทำอะไร
สิ่งที่มีCคุณค่าสำหรับการLC_ALLทำในระบบเหมือน Unix? ฉันรู้ว่ามันบังคับให้สถานที่เดียวกันทุกด้าน แต่จะCทำอย่างไร?


5
VISUAL vs. EDITOR - อะไรคือความแตกต่าง?
ฉันมักจะตั้งค่าตัวแปรทั้งสองVISUALและEDITORสภาพแวดล้อมให้เหมือนกัน แต่ความแตกต่างคืออะไร ทำไมฉันต้องตั้งค่าพวกเขาแตกต่างกันอย่างไร เมื่อพัฒนาแอพทำไมฉันต้องเลือกVISUALดูก่อนEDITORหรือในทางกลับกัน

9
จะทราบได้อย่างไรว่าตัวแปรสภาพแวดล้อมมาจากที่ใด
ฉันมีอินสแตนซ์ลินุกซ์ที่ฉันตั้งค่าบางเวลามา เมื่อฉันเปิดใช้งานและลงชื่อเข้าใช้เนื่องจากrootมีตัวแปรสภาพแวดล้อมบางอย่างที่ฉันตั้งค่า แต่ฉันจำไม่ได้หรือไม่ทราบว่ามาจากไหน ฉันได้ตรวจสอบ~/.bash_profileแล้ว/etc/.bash_rcและสคริปต์เริ่มต้นทั้งหมด ฉันวิ่งfindและgrepไม่มีประโยชน์ ฉันรู้สึกเหมือนฉันต้องลืมที่จะมองในบางสถานที่ที่ชัดเจน มีเคล็ดลับในการหาสิ่งนี้หรือไม่?

4
ฉันจะตั้งค่าตัวแปรสภาพแวดล้อมในบรรทัดคำสั่งและให้มันปรากฏในคำสั่งได้อย่างไร
ถ้าฉันวิ่ง export TEST=foo echo $TEST มันส่งผลฟู ถ้าฉันวิ่ง TEST=foo echo $TEST มันไม่ใช่. ฉันจะรับฟังก์ชั่นนี้โดยไม่ใช้การส่งออกหรือสคริปต์ได้อย่างไร

6
ฉันจะตั้งค่าตัวแปรสภาพแวดล้อมของผู้ใช้ได้อย่างไร (ถาวรไม่ใช่เซสชัน)
นี่มันน่ารำคาญ ฉันเห็นคำแนะนำหลายประการ (ทั้งหมดใช้ไฟล์และไวยากรณ์ที่แตกต่างกัน) และไม่ทำงานเลย ฉันจะตั้งค่าตัวแปรสภาพแวดล้อมสำหรับผู้ใช้ที่เฉพาะเจาะจงได้อย่างไร ฉันกำลังบีบเดเบียน ไวยากรณ์ที่แน่นอนที่ฉันควรใส่ในไฟล์เพื่อทำ ABC = "123" คืออะไร?

4
$ VAR เทียบกับ $ {VAR} และเพื่อพูดหรือไม่พูด
ฉันเขียนได้ VAR=$VAR1 VAR=${VAR1} VAR="$VAR1" VAR="${VAR1}" ผลลัพธ์ที่ได้สำหรับฉันทุกคนดูเหมือนจะเหมือนกัน ทำไมฉันต้องเขียนอย่างใดอย่างหนึ่ง? เหล่านี้ไม่ใช่พกพา / POSIX?

6
วิธีการเรียกใช้โปรแกรมในสภาพแวดล้อมที่สะอาดในทุบตี?
ฉันต้องการเรียกใช้โปรแกรมในสภาพแวดล้อมที่ว่างเปล่า (เช่นไม่มีการตั้งค่าสภาพแวดล้อม) วิธีการทำเช่นนี้ในทุบตี?

11
ฉันจะรันคำสั่ง cron ด้วยตัวแปรสภาวะแวดล้อมที่มีอยู่ได้อย่างไร?
ฉันจะรันคำสั่ง cron ด้วยตัวแปรสภาวะแวดล้อมที่มีอยู่ได้อย่างไร? ถ้าฉันอยู่ที่พรอมต์เชลล์ฉันสามารถพิมพ์echo $ORACLE_HOMEและรับเส้นทาง ~/.profileนี้เป็นหนึ่งในตัวแปรด้านสิ่งแวดล้อมของฉันที่ได้รับการตั้งค่าในของฉัน อย่างไรก็ตามดูเหมือน~/.profileว่าไม่ได้โหลดสคริปต์ fron cron และสคริปต์ของฉันล้มเหลวเนื่องจาก$ORACLE_HOMEไม่ได้ตั้งค่าตัวแปร ในคำถามนี้ผู้เขียนกล่าวถึงการสร้าง~/.cronfileโปรไฟล์ที่ตั้งค่าตัวแปรสำหรับ cron แล้วเขาก็หาวิธีแก้ปัญหาเพื่อโหลดคำสั่ง cron ทั้งหมดของเขาลงในสคริปต์ที่เขาเก็บไว้ใน~/Cronไดเรกทอรีของเขา ไฟล์เช่น~/.cronfileเสียงดูเหมือนเป็นความคิดที่ดี แต่คำตอบที่เหลือดูเหมือนจะยุ่งยากเล็กน้อยและฉันก็หวังว่าจะมีคนบอกวิธีที่ง่ายกว่าในการได้รับผลลัพธ์เดียวกัน ฉันคิดว่าเมื่อเริ่มต้นสคริปต์ของฉันฉันสามารถเพิ่มสิ่งที่ชอบsource ~/.profileแต่ที่ดูเหมือนว่ามันจะซ้ำซ้อน ดังนั้นฉันจะทำให้สคริปต์ cron ของฉันโหลดตัวแปรจากโปรไฟล์ interactive-shell ได้อย่างไร

4
มีไฟล์เทียบเท่า“ .bashrc” ที่เชลล์อ่านทั้งหมดหรือไม่
เป็น~/.bashrc สถานที่เดียวในการระบุตัวแปรสภาพแวดล้อมเฉพาะผู้ใช้นามแฝงการปรับเปลี่ยนPATHตัวแปร ฯลฯ ? ฉันถามเพราะดูเหมือนว่า~/.bashrcจะเป็นbash- แบบเดียว แต่มีกระสุนชนิดอื่นอยู่ด้วย ...

4
เหตุใด `ในขณะที่ IFS = read` ใช้บ่อยๆแทนที่จะเป็น 'IFS =; ในขณะที่อ่าน ..
ดูเหมือนว่าการปฏิบัติตามปกติจะทำให้การตั้งค่าของ IFS อยู่นอกวงขณะที่เพื่อไม่ให้ซ้ำการตั้งค่าสำหรับการวนซ้ำแต่ละครั้ง ... นี่เป็นเพียงลักษณะ "ลิงดูลิงทำ" เป็นนิสัยเพราะมันเป็นลิงนี้จนกระทั่ง ฉันอ่านman readหรือว่าฉันขาดกับดักบางอย่าง (หรือโจ่งแจ้งชัดเจน) ที่นี่?

2
มีเหตุผลที่ดีในการใช้งาน sudo su หรือไม่?
ในการเปิดรูทเชลล์บนเครื่องที่ปิดใช้งานบัญชีรูทคุณสามารถเรียกใช้หนึ่งใน: sudo -i: เรียกใช้เปลือกเข้าสู่ระบบแบบโต้ตอบ (อ่าน/root/.bashrcและ/root/.profile) sudo -s: เรียกใช้เปลือกโต้ตอบที่ไม่ใช่การเข้าสู่ระบบ (อ่าน/root/.bashrc) ในโลกอูบุนตูฉันมักจะเห็นsudo suคำแนะนำว่าเป็นวิธีที่จะได้รูทเชลล์ ทำไมต้องรันสองคำสั่งแยกกันเมื่อจะทำ? เท่าที่ผมสามารถบอกได้sudo -iเทียบเท่ากับsudo su -และเป็นเช่นเดียวกับsudo -ssudo su ความแตกต่างเพียงอย่างเดียวดูเหมือนจะ (เปรียบเทียบsudo -iด้านซ้ายและsudo su -ด้านขวา): และเปรียบเทียบsudo -s(ซ้าย) และsudo su(ขวา): ความแตกต่างหลัก (ละเว้นSUDO_fooตัวแปรและLS_COLORS) ดูเหมือนจะเป็นXDG_fooตัวแปรระบบในsudo suรุ่น มีกรณีใดบ้างที่ทำให้ใบสำคัญแสดงสิทธิที่แตกต่างกันใช้ค่อนข้างไม่เหมาะสมsudo su? ฉันสามารถบอกผู้คนได้อย่างปลอดภัย (อย่างที่ฉันมักมี) ว่าไม่มีจุดใดในการวิ่งsudo suหรือไม่มีอะไรเลย?

3
หากกระบวนการสืบทอดสภาพแวดล้อมของผู้ปกครองทำไมเราถึงต้องส่งออก
ฉันอ่านที่นี่ว่าวัตถุประสงค์ของexportเชลล์คือการทำให้ตัวแปรพร้อมใช้งานสำหรับกระบวนการย่อยที่เริ่มต้นจากเชลล์ อย่างไรก็ตามฉันได้อ่านที่นี่และที่นี่ว่า"กระบวนการสืบทอดสภาพแวดล้อมของพวกเขาจากผู้ปกครองของพวกเขา (กระบวนการที่เริ่มต้นพวกเขา)" หากเป็นกรณีนี้เราจำเป็นต้องทำexportอย่างไร ฉันพลาดอะไรไป ตัวแปรเชลล์ไม่ได้เป็นส่วนหนึ่งของสภาพแวดล้อมโดยปริยายหรือไม่? อะไรคือความแตกต่าง?

6
ทำไมการตั้งค่าตัวแปรก่อนที่คำสั่งถูกกฎหมายในทุบตี?
ฉันเพิ่งพบคำตอบหลายอย่างเช่นการแยกวิเคราะห์ไฟล์ข้อความที่คั่นด้วย ...ที่ใช้โครงสร้าง: while IFS=, read xx yy zz;do echo $xx $yy $zz done < input_file โดยที่IFSตัวแปรถูกตั้งค่าไว้ก่อนreadคำสั่ง ฉันอ่านการอ้างอิง bash แล้วแต่ไม่สามารถเข้าใจได้ว่าทำไมสิ่งนี้ถึงถูกกฎหมาย ฉันเหนื่อย $ x="once upon" y="a time" echo $x $y จากพรอมต์คำสั่ง bash แต่ไม่มีอะไรเกิดขึ้น ใครบางคนสามารถชี้ให้ฉันเห็นว่าไวยากรณ์นั้นถูกกำหนดในการอ้างอิงที่อนุญาตให้ตัวแปร IFS ตั้งค่าในลักษณะนั้นได้หรือไม่? มันเป็นกรณีพิเศษหรือฉันสามารถทำสิ่งที่คล้ายกับตัวแปรอื่น ๆ ได้หรือไม่?

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