С sed:
echo 'one two' |sed -re 's/([^ ])([^ ]+)( +)([^ ])([^ ]+)/\4\2\3\1\5/'
tne owo
соответствует также пространствам переменных.
Вы можете просто передать соответствующие аргументы двум tmux
вызовам:
tmux
пользовательский файл конфигурации с аргументом -f
самому tmux
. new-session
вы должны передать имя сеанса, используя аргумент -s
. attach
вы передаете имя сеанса через-t
("t" для "цели" ). Собираем все воедино:
# TmuxWork.sh
if which tmux >/dev/null 2>&1; then
#if not inside a tmux session, and if no session is started, start a new session
test -z "$TMUX" && (
tmux -f ~/.tmux-work.conf attach -t work ||
tmux -f ~/.tmux-work.conf new-session -s work
)
fi
(Вероятно, вам нужно передать файл конфигурации только в new-session
, так как в большинстве случаев это не имеет значения для других команд, таких как attach
, или команд, которые выполняются внутри сеанса.)
Вы можете расширить этот сценарий, чтобы фактически переключать на «работу» сеанса, если вы выполняете его из «домашнего» сеанса или другого сеанса, используя команду switch-client
:
if test -n "$TMUX" ; then
tmux switch-client -t work
else
tmux attach -t work ||
tmux -f ~/.tmux-work.conf new-session -s work
fi
С помощью некоторых сценариеввы можете сохранить имя сеанса («work» в этом примере )и имя пользовательского файла конфигурации в переменных оболочки и повторно использовать этот фрагмент для создания пользовательских сценариев для многих сеансов, которыми вы хотели бы управлять.