Вложенная команда if или если с двумя условиями в tmux - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь написать привязку для команды копирования, в которой я хочу проверить версию tmux и операционную систему. Если версия tmux меньше, чем 2.4 и используя Linux, сделайте одно, а с Ma c другое и то же самое для версии выше, чем 2.4.

Если Linux:

if-shell -b '[ "$(echo "$TMUX_VERSION < 2.4" | bc)" = 1 ]' " \
    bind-key -t vi-copy y   copy-pipe 'xclip -selection clipboard -in'" " \
    bind-key -T copy-mode-vi y   send -X copy-pipe-and-cancel 'xclip -selection clipboard -in'"

Если Ма c:

if-shell -b '[ "$(echo "$TMUX_VERSION < 2.4" | bc)" = 1 ]' " \
    bind-key -t vi-copy 'y' copy-pipe "reattach-to-user-namespace pbcopy" " \
    bind -Tcopy-mode-vi 'y' send -X copy-pipe-and-cancel 'tmux save-buffer - | reattach-to-user-namespace pbcopy'"

1 Ответ

1 голос
/ 06 мая 2020

Вы можете использовать -a в своем тесте:

if '[ "blah" = 1 -a "$(uname)" = Linux ]' ...

Или каждый аргумент if-shell - это команда tmux, поэтому вы можете вложить их:

if 'true' 'if "true" "whatever"'
...