Konfigurasi tmux digemakan sebagai parameter input shell

2

Selamat malam, saya menghadapi masalah yang cukup aneh (setidaknya saya belum pernah mengalami hal seperti itu sebelumnya) dengan konfigurasi tmux saya. Beberapa hari yang lalu saya membuat beberapa modifikasi pada file konfigurasi tmux saya dan sekarang status bar dikonfigurasi sebagai berikut:

# show , cpu usage, free memory, fan speed and core temp on right side 
set -g status-right-length 70
CPU="#[bg=colour3 fg=colour247] cpu #(vmstat | tail -n 1 | awk '{s = $13 + $14} END {print s}')% "
MEM="#[bg=colour3 fg=colour247]mem #(free -h | grep Mem | awk '{print $7}') "
TMP="#[bg=colour116 fg=colour247] temp #(sensors | grep 'Core 0' | awk '{print $3}') #(sensors | grep 'Core 1' | awk '{print $3}')"
BAT="#[bg=colour116 fg=colour247] batt #(battery-level | awk '{print $1}') "
set -g status-right $CPU$MEM$TMP$BAT

Beberapa waktu kemudian saya menemukan beberapa direktori yang dibuat dalam sistem bernama: "#[bg=colour116 fg=colour247] temp #(sensors | grep 'Core 0' | awk '{print $3}') #(sensors | grep 'Core 1' | awk '{print $3}')"

Namun, setelah menghapusnya secara manual, mereka tidak muncul lagi.

Sekarang saya mencoba menggunakan bear untuk mengekstrak arahan kompilasi untuk sebuah proyek. Sekarang ketika tmux aktif, bear makegagal dengan kesalahan berikut:

bear: Something unexpected had happened.
Traceback (most recent call last):
  File "/usr/bin/bear", line 65, in main
return capture(args)
  File "/usr/bin/bear", line 105, in capture
with temporary_directory(prefix='bear-', dir=tempdir()) as tmpdir:
  File "/usr/lib/python3.5/contextlib.py", line 59, in __enter__
return next(self.gen)
  File "/usr/bin/bear", line 78, in temporary_directory
name = tempfile.mkdtemp(**kwargs)
  File "/usr/lib/python3.5/tempfile.py", line 507, in mkdtemp
_os.mkdir(file, 0o700)
FileNotFoundError: [Errno 2] No such file or directory: "#[bg=colour116 fg=colour247] temp #(sensors | grep 'Core 0' | awk '{print $3}') #(sensors | grep 'Core 1' | awk '{print $3}')/bear-wfyf2hzz"

Itu membuat saya percaya tmux config saya sedang digemakan sebagai parameter ke python tempfile.py mkdtemp, tetapi saya benar-benar tidak mengerti apa yang sedang terjadi. Adakah yang bisa membantu saya dengan ini?

Cloneone
sumber

Jawaban:

1
TMP="#[bg=colour116 fg=colour247] temp #(sensors | grep 'Core 0' | awk '{print $3}') #(sensors | grep 'Core 1' | awk '{print $3}')"

Anda telah mendefinisikan variabel yang sebagai nama yang sama dari TMPvariabel lingkungan dan dengan demikian menimpa isinya. Python sedang mencoba membuat direktori anak di dalam $TMPfolder yang diatur ke nilai di atas.

Untuk menyelesaikannya, ubah namanya menjadi sesuatu yang berbeda dan mungkin unik, seperti TMUX_TEMP.

Matteo Zaccagnino
sumber