У меня есть скрипт Python, который определяет конфигурацию для tmux, а затем запускает tmux с этой конфигурацией. Конфигурация хранится как heredoc в Python, и я хочу использовать ее в подстановке Bash при выполнении команды запуска Bash для tmux.Как Python heredoc можно использовать в качестве входных данных для замены Bash-процесса?
Итак, я ищу, чтобы сделать что-то вроде этого:
configuration = \
"""
set -g set-remain-on-exit on
new -s "FULL"
set-option -g prefix C-a
unbind C-b
bind - split-window -v
bind | split-window -h
## colours
set-option -g window-status-current-bg yellow
set-option -g pane-active-border-fg yellow
set -g status-fg black
set -g status-bg '#FEFE0A'
set -g message-fg black
set -g message-bg '#FEFE0A'
set -g message-command-fg black
set -g message-command-bg '#FEFE0A'
set-option -g mode-keys vi
set -g history-limit 5000
## mouse mode
set -g mode-mouse on
set -g mouse-select-pane on
set -g mouse-select-window on
set -g mouse-resize-pane on # resize panes with mouse (drag borders)
## status
set-option -g status-interval 1
set-option -g status-left-length 20
set-option -g status-left ''
set-option -g status-right '%Y-%m-%dT%H%M%S '
## run programs in panes
# split left-right
split-window -h
# split left up
select-pane -t 0
split-window -v
select-pane -t 0
split-window -v
select-pane -t 0
split-window -v
select-pane -t 3
split-window -v
select-pane -t 0
send-keys 'ranger' Enter
select-pane -t 1
send-keys 'clear' Enter
select-pane -t 2
#send-keys 'htop' Enter
select-pane -t 3
send-keys 'elinks http://arxiv.org/list/hep-ph/new' Enter
select-pane -t 4
send-keys 'cmus' Enter
select-pane -t 5
send-keys 'ranger' Enter
select-pane -t 4
set -g set-remain-on-exit off
"""
command = executable + " -f <(echo " + configuration + ") attach"
os.system(command)
Что я должен изменить, чтобы получить эту работу?
Что происходит, когда вы пытаетесь это сделать? – cdarke
@cdarke Привет. Когда я запускаю это, я получаю ошибку '' 'sh: 1: Синтаксическая ошибка:" ("неожиданно''. – d3pd
Я думаю, что проблема связана с синтаксисом' <() '.' Os.system() 'работает 'sh' not' bash'. – cdarke