Cygwin
Tmux 명령을 사용할 때 약간 이상한 문제가 발생했습니다 run-shell
.
주어진 스크립트:
#!/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")
bash()를 사용하여 직접 실행하면 다음 bash ~/test_script.sh
이 생성됩니다.
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.
이것을 실행하려고 하면 다음과 같은 결과 tmux run-shell test_script.sh
가 나타납니다.
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
이제 두 번째 루프가 Bashism이라는 것을 알고 있으므로 Tmux가 Bash를 올바르게 사용하는지 확인하기 위한 일종의 구성이 누락되었을 수 있습니다. 내가 여기서 무엇을 놓치고 있는지 아는 사람 있나요? 지금까지 설정을 시도했습니다.
set-option -g default-shell /bin/bash
set-option -g default-command /bin/bash
그러나 .tmux.conf
내가 아는 한 이것은 작동하지 않습니다.
(이것은 tmux 2.2
및 에서 테스트되었습니다 tmux master
.)