Cygwin e Tmux run-shell

1

Eu me deparei com um problema um pouco estranho em Cygwin quando estou usando o comando Tmux run-shell .

Dado o script:

#!/usr/bin/env bash

read -r -d '' var << EOF
This is line 1.
This is line 2.
Line 3.
EOF

echo "Running in shell: $SHELL"


while read line;
do
    echo $line
done <<EOF
$var
EOF


while read line;
do
    echo $line
done < <(echo "$var")

Executá-lo diretamente com o bash funciona muito bem ( bash ~/test_script.sh ), produzindo:

Running in shell: /bin/bash
This is line 1.
This is line 2.
Line 3.
This is line 1.
This is line 2.
Line 3.

Quando tento executar isso usando tmux run-shell test_script.sh , obtenho:

Running in shell: /usr/bin/bash
This is line 1.
This is line 2.
Line 3.
'/cygdrive/c/Users/gusta/test_script.sh' returned 2

Agora, estou ciente de que o segundo loop é um Bashism, então eu provavelmente perdi algum tipo de configuração para garantir que o Tmux use Bash corretamente. Alguém sabe o que eu estou sentindo falta aqui? Até agora eu tentei definir:

set-option -g default-shell /bin/bash
set-option -g default-command /bin/bash

em .tmux.conf , mas, até onde eu sei, isso não está funcionando.

(Isso foi testado em tmux 2.2 e tmux master .)

    
por Xaldew 20.11.2016 / 18:12

0 respostas