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
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
。)