Как у меня может быть свой .bashrc, только вызывают TMUX, если он существует в моей системе?

Я предпочел бы создавать новый список и заменять старый новым:

nodes="127.0.0.1 1.2.3.4 1.2.3.4 "
nodes_out=
for node in $nodes
do 
    ping -c 1 $node >/dev/null 2>&1 && nodes_out+=$node
done
nodes=$nodes_out
7
23.07.2014, 17:57
3 ответа

Делали ли вы echo $TMUX, в то время как в сессии tmux? Потому что TMUX устанавливается только в сеансе.

Попробуйте вместо этого:

[ -z "$TMUX" ] && command -v tmux >/dev/null && TERM=xterm-256color exec tmux
7
27.01.2020, 20:16

Хорошо, если вы хотите запустить tmux только тогда, когда он существует в $PATH и , когда он еще не запущен, то вы можете сделать:

command -v tmux >/dev/null && ${TMUX+:} TERM=xterm-256color exec tmux

Shorter still:

tmux -c "${TMUX+!} :" 2>/dev/null && exec tmux -2

Второй просит tmux вернуть 0, если ${TMUX} не установлен &&, если это так, оболочка выполняет tmux -2, чтобы заставить 256-цвет. Оно вернётся true только в том случае, если tmux может быть запущен в $PATH и если переменная окружения $TMUX не существует.

.
5
27.01.2020, 20:16

Используйте

which tmux && export TERM=xterm-256color && exec tmux

Если есть tmux, , который tmux оценит путь к tmux двоичному файлу, следовательно, к истинному . Если нет tmux, то он вычислит пустую строку, то есть false.

.
-1
27.01.2020, 20:16

Теги

Похожие вопросы