Estou tentando executar o tmux, passando vários comandos ao mesmo tempo e não consigo citar corretamente a string.
O comando é bem-sucedido quando digitado manualmente na linha de comandos:
~% /usr/local/bin/tmux start-server\; set-option -g default-command '/usr/bin/true 1 2 3' \; new-session
[exited]
Mas, no caso real, preciso criar o comando dinamicamente e não consigo fazer com que ele se expanda corretamente. As aspas simples parecem ser descartadas durante a ${=var}
expansão:
~% cmd="/usr/local/bin/tmux start-server; set-option -g default-command '/usr/bin/true 1 2 3' ; new-session"
~% ${=cmd}
usage: set-option [-agosquw] [-t target-session|target-window] option [value]
O tmux não entende o comando quando transmitido como uma única cadeia, ou seja, não incluindo o /usr/local/bin/tmux
token na cadeia e expandindo o restante usando ${cmd}
como oposto ${=cmd}
.
~% /usr/local/bin/tmux 'start-server; set-option -g default-command "/usr/bin/true 1 2 3"; new-session'
unknown command: start-server; set-option -g default-command "/usr/bin/true 1 2 3"; new-session
minha versão zsh:
⚠~% ${SHELL} --version
zsh 5.0.2 (x86_64-apple-darwin12.2.1)