টিমাক্স স্ট্যাটাস বার শেল কমান্ডে এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করা


10

আমি একটি tmux স্ট্যাটাস বার যা শো তিন সময়ের অঞ্চলগুলোকে তৈরি করতে প্রয়াস করছি: US Eastern Time :: UTC :: Central European TimeTZএনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে dateকমান্ডটি একটি নির্দিষ্ট সময় অঞ্চলে সময় দেখায়।

আমি এই tmux.conf সেটিংস দিয়ে এটি করার চেষ্টা করছিলাম:

set -g status-right "#[fg=white]#S #I:#P #[fg=yellow]:: %d %b %Y #[fg=green]:: #(TZ=America/New_York date +%H:%M) :: #(date -u +%H:%M) UTC :: #(TZ=Europe/Belgrade date +%H:%M)"

তবে পাসিং এর TZ=fooভিতরে কাজ করে না #(…)। (আমি dateযা আশা করেছিলাম তার পরিবর্তে আমি সার্ভারটি পাই)। কোন পরামর্শ?

উত্তর:


16

Tmux সঙ্গে সময় ফর্ম্যাট বিস্তৃতি strftimeমধ্যে status-leftএবং status-rightআগে এটি বিস্তৃতি #(…)এবং অন্যান্য ধারালো পালাবার ক্রম। সুতরাং %H:%Mপ্রথম স্থানীয় সময় প্রসারিত, এবং হয় dateএকটি আর্গুমেন্ট ইতিমধ্যে সাংখ্যিক সঙ্গে চালায়।

শতাংশ লক্ষণ দ্বিগুণ।

set -g status-right "#[fg=white]#S #I:#P #[fg=yellow]:: %d %b %Y #[fg=green]:: #(TZ=America/New_York date +%%H:%%M) :: #(TZ=UTC date -u +%%H:%%M) UTC :: #(TZ=Europe/Belgrade date +%%H:%%M)"

1

আমি tmux এর সাথে পরিচিত নই তবে আমার ধারণা সমস্যাটি শেলের #()মতো একইভাবে কাজ করে না $()

শেল ব্যবহার করে জোর করে সমস্যার সমাধান হতে পারে:

#(bash -c 'TZ=Europe/Belgrade date +%H:%M')

দুর্ভাগ্যক্রমে এটি কার্যকর হয় না (tmux 1.6 এ, জেন্টো)। এটি এখনও ইউটিসি তারিখটি মুদ্রণ করছে।
এক্সক্যালিবুর

পছন্দ করুন একটি TZ=Europe/Belgrade date +%H:%M#(/path/to/wrapperscript)
র‌্যাপারসক্রিপ্ট

হ্যাঁ, সমাধানটি আমার কাছে ঘটেছিল। যদিও এই tmux.conf শেফ ব্যবহার করে গতিশীল সেট করা হয়েছে, আমি কোনও বাহ্যিক নির্ভরতা যুক্ত করতে দ্বিধা বোধ করছি। সম্ভবত আমার tmux দিয়ে একটি সমস্যা ফাইল করা উচিত। ধন্যবাদ যদিও!
এক্সক্যালিবুর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.