Если вы абсолютно уверены, что PV не используется, то просто делайте то, что он вам говорит
pvcreate -ff /dev/sd...
Это связывает PREFIX Cs
для выбора сеанса, переключатель к нему, а затем завершите предыдущий сеанс:
bind-key C-s \
if-shell "(($(tmux display -p '#{session_many_attached}') > 0))" \
choose-session \
"run-shell \"tmux choose-session \\\"switch-client -t '%%'; kill-session -t '$(tmux display -p '#S')'\\\"\""
Я использовал выражения оболочки ( другой ответ, в котором оболочка не использовалась, было бы замечательно! ). Сначала я использую Tmux if-shell
, чтобы решить, есть ли му ltiple подключенных клиентов. Если есть, то я просто вызываю стандартную команду choose-session
.
Однако, если это единственный клиент, подключенный к сеансу, я передаю специальную команду choose-session
, но я делаю это в оболочке (с run-shell
), поэтому что я могу создать командную строку, переданную в select-session
.
Эта командная строка состоит из двух команд:
switch-client -t '%%'
, которую select-session
использует по умолчанию (см. man tmux
для объяснения). kill-session -t '$ (tmux display -p' #S ')'
сначала использует подоболочку для получения имени текущего сеанса (он еще не был уничтожен ) и передает его в качестве параметра kill-session
. Последняя команда требует много экранирования, чтобы заставить ее работать. if-shell
принимает три аргумента: команду оболочки и две команды tmux. Их необходимо заключить в кавычки, если они содержат пробелы. Следовательно, третий аргумент run-shell ...
довольно неприятен!
(tmux 2.3)