Ada beberapa baris tmux.conf yang ingin saya jalankan hanya jika OS saya adalah Mac. Namun, saya ingin menggunakan tmux.conf di beberapa OS yang berbeda. Bagaimana saya bisa membuat perintah untuk OS yang menjalankan tmux saat ini?
41
Jawaban:
Gunakan
if-shell
perintah:Anda mungkin ingin menempatkan perintah khusus OS dalam file terpisah, dan menjalankannya melalui perintah "file sumber".
sumber
if-shell
danrun-shell
tmux saat ini tidak sinkron (pada tmux 1.7); mereka secara efektif menjalankan perintah shell mereka di latar belakang, dan perintah tmux apa pun yang mereka jalankan hanya akan dieksekusi setelah perintah yang datang setelahif-shell
ataurun-shell
perintah itu sendiri ( tmux adalah single-threaded). Secara efektif, jika Anda menggunakanif-shell
ataurun-shell
dalam~/.tmux.conf
, sesi awal (dan sesi, jendela, atau panel yang dibuat secara eksplisit dibuat melalui~/tmux.conf
) akan kekurangan konfigurasi tmux yang diatur melaluiif-shell
ataurun-shell
perintah.if-shell
bekerja seperti yang diharapkan untuk saya dengan tmux 1.8. Saya menggunakannya untuk mengatur set-title-string hanya untuk SSH: github.com/blueyed/dotfiles/commit/…Jimeh https://github.com/jimeh/dotfiles/commit/3838db8 memiliki jawabannya. Chris Johnsen juga layak mendapatkan banyak pujian karena membantu orang-orang dalam masalah GitHub di sini: https://Github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/8#issuecomment-4134987
Pada dasarnya, Anda membuat skrip shell yang disebut
safe-reattach-to-user-namespace
yang memeriksa keberadaan perintah reattach ... nyata.sumber