sử dụng các biến môi trường trong các tệp tmux.conf


12

Có thể sử dụng biến môi trường trong tệp tmux.conf không? Tôi đang cố gắng đặt đường dẫn mặc định thành biến môi trường. Hiện tại những gì tôi đang cố gắng là:

set -g default-path $MYVAR

hơn nữa tôi muốn kiểm tra xem $ MYVAR đã được đặt chưa để tôi có thể làm:

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

Có ý kiến ​​gì không?

Câu trả lời:


12

Vâng, có vẻ như có thể mở rộng các biến shell trong .tmux.conftệp Có vẻ như không bắt buộc, nhưng một ý tưởng hay để trích dẫn chúng, đặc biệt. Tôi đã có thể làm điều này thành công với các tùy chọn thanh trạng thái ngay bây giờ.

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

$ export MYVAR="Shell stuff"
$ tmux

Tôi không biết về bất kỳ 'nếu' hoặc các cấu trúc điều khiển khác trong cấu hình, nhưng có thể có.


Tôi không thể có được điều này để làm việc trong một tập tin kịch bản tmux. Tôi chắc chắn $ MYVAR đã được đặt và tôi chạy tập lệnh và nó thất bại. set -g default-path "$ MYVAR" split-window -h nó chia đôi cửa sổ nhưng đường dẫn mặc định không được đặt thành $ MYVAR
Power Powers

1
ok tôi tìm thấy nơi mọi thứ đang bị hỏng, nếu tôi đặt biến môi trường trước khi tôi chạy tmux thì tôi có thể sử dụng nó trong tệp tmux.conf của mình. Nếu tôi đặt biến môi trường, trong tmux.conf sử dụng môi trường set hoặc sau khi tôi ở tmux, sau đó tải lại tmux.conf nó sẽ sử dụng các biến mới mà tôi đã đặt. Bất cứ ý tưởng tại sao?
Quyền hạn kỹ thuật số

Các shell bạn chạy bên trong tmux là các tiến trình con của tmux. Thay đổi thứ bên trong những môi trường không phải là sẽ trở lại tuyên truyền lên đường đến quá trình cha mẹ tmux. Nó chỉ hoạt động theo cách khác bởi vì tmux trở thành con của vỏ mà bạn đã khởi chạy nó từ đó. Tôi giả sử tải lại cấu hình tương tự ở chỗ nó khởi chạy một đứa con mới của tiến trình cha.
Caleb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.