Redirecionar a saída na própria função:
tmux_checker()
{
if [ -z $(tmux ls 2>/dev/null | grep -o servercontrol) ]
then
tmux new -d -s servercontrol
fi
}
tmux_checker
Estou trabalhando em uma função bash para verificar se uma sessão tmux está sendo executada. A função funciona, mas, se nenhuma sessão estiver em execução, a saída "falhou ao conectar-se ao servidor". Como faço para produzir esse erro para null sem acrescentar 1 > & 2 a todas as chamadas de função?
tmux_checker()
{
if [ -z $(tmux ls | grep -o servercontrol) ]
then
tmux new -d -s servercontrol
fi
}
tmux_checker #> /dev/null 2>&1 or 1>&2
Para testar uma sessão tmux
existente (e iniciar uma nova em segundo plano, se nenhuma existir), use
if ! tmux has-session 2>/dev/null; then
tmux new-session -d
fi
Para verificar uma sessão com um nome específico:
if ! tmux has-session -t name 2>/dev/null; then
tmux new-session -d -s name
fi
Como uma função shell:
start_tmux () {
set -- "${1:-servercontrol}"
if ! tmux has-session -t "$1" 2>/dev/null; then
tmux new-session -d -s "$1"
fi
}
Isso pode ser usado como
$ start_tmux
ou
$ start_tmux mysession
Tags tmux shell-script function