ใน zsh ฉันจะแสดงรายการตัวแปรสภาพแวดล้อมทั้งหมดได้อย่างไร?


26

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

คำตอบ:


35

envดูเหมือนคุณต้องการ


ที่น่าอาย! ขอบคุณ แต่ตอนนี้เราอยู่บนนั้นแล้วหากฉันไม่มีใครถามฉันจะพบสิ่งนี้ได้อย่างไร
อาลี

3
@ Ali ดีenvไม่เฉพาะเจาะจงzshมันเป็นโปรแกรมแบบสแตนด์อโลน ต้องบอกว่าผลอันดับหนึ่งใน Google สำหรับ "ตัวแปรสภาพแวดล้อมของรายการ" บอกว่าจะใช้envดังนั้นฉันเดาว่านั่นเป็นวิธีหนึ่ง ;-)
Chris Down

1
ฉันหมายความว่าถ้าฉันไม่มีการเชื่อมต่ออินเทอร์เน็ต! ฉันรู้ว่าฉันจะตายในอีกไม่กี่วันโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต แต่ในสองสามวันนี้ฉันจะดูได้อย่างไรในเอกสาร / คู่มือ ...
อาลี

2
คุณสามารถทำสิ่งที่ต้องการapropos environment
เกล็นแจ็คแมน

1
@Ali หากคุณต้องการค้นหาสิ่งนี้โดยไม่มีความช่วยเหลือฉันจะเริ่มด้วยman zshหรือ Googling สำหรับ "zsh print แปร" หรือคล้ายกัน
Alex

21

exportพิมพ์รายการตัวแปรสภาพแวดล้อมและค่าของตัวแปรเหล่านั้น ค่าจะถูกยกมา, เอาท์พุทของexportเหมาะสำหรับการอ่านกลับเข้าไปในเปลือก. ตัวแปรถูกพิมพ์ตามลำดับตัวอักษร

setหากคุณต้องการตัวแปรเปลือกเช่นเดียวกับการใช้งาน หากคุณต้องการตัวแปรเปลือกคำอธิบายประกอบประเภท ( exported, integerฯลฯ ), typesetการใช้งาน

คุณสามารถใช้exportและsetบนเชลล์อื่น ๆ ได้เช่นกัน แต่ส่วนใหญ่ไม่ได้อ้างเอาท์พุทดังนั้นจึงไม่สามารถแยกวิเคราะห์ได้ typesetสามารถใช้ได้ (ที่มีพฤติกรรมแตกต่างกัน) กับ ksh และ bash

หากคุณต้องการตัวแปรสภาพแวดล้อมนอกจากนี้ยังมีenvคำสั่งที่พิมพ์ไม่เรียงลำดับและไม่ต้องใส่เครื่องหมายคำพูด

หากคุณต้องการชื่อให้เข้าถึงparametersอาเรย์แบบเชื่อมโยง กุญแจคือชื่อพารามิเตอร์และค่าระบุประเภท


2
echo $ZSH_VERSIONผลตอบแทน5.0.5แต่เมื่อฉันenv | grep ZSH_VERSIONฉันไม่เห็นแมตช์ใด ๆ คือZSH_VERSIONไม่ได้เป็นตัวแปรสภาพแวดล้อม? ฉันพลาดอะไรไป
Josh

3
@ Josh เป็นตัวแปรเชลล์ไม่ได้ถูกส่งออกไปยังสภาพแวดล้อม
Gilles 'หยุดชั่วร้าย'

@Gilles เราจะแสดงรายการเหล่านั้นทั้งหมดได้อย่างไร?
Daniel Que

@DanielQue วรรคที่สองของคำตอบของฉัน
Gilles 'หยุดความชั่วร้าย'

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