การใช้ตัวแปรสภาวะแวดล้อมในไฟล์ tmux.conf


12

เป็นไปได้ที่จะใช้ตัวแปรสภาพแวดล้อมในไฟล์ tmux.conf หรือไม่? ฉันพยายามตั้งค่าเส้นทางเริ่มต้นเป็นตัวแปรสภาพแวดล้อม ขณะนี้สิ่งที่ฉันพยายามคือ:

set -g default-path $MYVAR

ต่อไปฉันต้องการตรวจสอบว่ามีการตั้งค่า $ MYVAR ไว้แล้วหรือไม่ดังนั้นฉันสามารถทำได้:

if($MYVAR == "") set-environment -g MYVAR /somepath/

ความคิดใด ๆ

คำตอบ:


12

ใช่ดูเหมือนว่าจะเป็นไปได้ที่จะขยายตัวแปรเชลล์ใน.tmux.confไฟล์ดูเหมือนว่าไม่จำเป็น แต่เป็นความคิดที่ดีที่จะเสนอราคาโดยเฉพาะ ฉันสามารถทำสิ่งนี้ได้สำเร็จด้วยตัวเลือกแถบสถานะในตอนนี้

# In ~/.tmux.conf:
set -g status_left "$MYVAR etc: "

$ export MYVAR="Shell stuff"
$ tmux

ฉันไม่รู้เกี่ยวกับ 'if' หรือโครงสร้างการควบคุมอื่น ๆ ในการกำหนดค่า แต่อาจมี


ฉันไม่สามารถใช้มันเพื่อทำงานในไฟล์สคริปต์ tmux ฉันแน่ใจว่ามีการตั้งค่า $ MYVAR และฉันเรียกใช้สคริปต์และมันล้มเหลว ตั้งค่า -g default-path "$ MYVAR" split-window -h มันแยกหน้าต่างออก แต่ default-path ไม่ได้ตั้งไว้ที่ $ MYVAR
พลังดิจิทัล

2
ตกลงฉันพบว่าสิ่งต่าง ๆ พังถ้าฉันตั้งค่าตัวแปรสภาพแวดล้อมก่อนที่ฉันจะเรียกใช้ tmux จากนั้นฉันสามารถใช้มันในไฟล์ tmux.conf ของฉัน หากฉันตั้งค่าตัวแปรสภาพแวดล้อมไม่ว่าจะเป็นใน tmux.conf โดยใช้ set-environment หรือหลังจากที่ฉันอยู่ใน tmux แล้วให้โหลด tmux.conf อีกครั้งโดยใช้ตัวแปรใหม่ที่ฉันตั้งไว้ มีความคิดอะไรบ้าง
พลังดิจิทัล

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