Estou executando vários servidores dedicados em diferentes sessões tmux. Eu tenho que mudar de porta e escrever um comando em todas as sessões do tmux. O comando é: config['Port'] = 12345
, 12345 sendo a porta. Tentei escrever um script que receberia entradas minhas e digitaria todo o código com o código que inseri em todas as diferentes sessões do tmux, mas não funcionou. O nome da sessão é 43210
.
#!/bin/bash
read -p '43210: ' avar
tmux attach-session -t 43210 "config['Port'] = ${avar}"
Mas nunca funciona e mostra:
usage: attach-session [-dr] [-t target-session]
Use aspas duplas para expandir as variáveis no
bash
shell. O que você fez é passadoavar
como uma string literal paratmux attach-session
mesmo que você tenha um valor armazenado na variável. Como as aspas simples não expandem as variáveis do shell, você precisa prefixar a$
antes do nome da variável e colocá-lo entre aspas.Mude seu script para algo como,