bash
コマンドの後に改行を保証する次の関数があります。
user at terra in ~
$ echo "m"
m
user at terra in ~
$ echo -n "m"
m↵
関数自体は次のとおりです.bashrc
。
function prompt_command {
# get cursor position and add new line if we're not in first column
echo -en "\033[6n" && read -sdR CURPOS
[[ ${CURPOS##*;} -gt 1 ]] && echo "$(tput setab 1)↵$prompt_reset"
}
PROMPT_COMMAND=prompt_command
私がPROMPT_COMMAND
設定すると、MCは10〜30秒ほど始まりますが、コメントするとほとんどすぐに始まります。
なぜこれが起こるのですか?この問題を無効にせずにどのように解決できますか?
ベストアンサー1
私が理解したのは、標準入力の入力を待っています。
`3021 13:58:57 read(0, <unfinished ...>
3019 13:59:06 <... select resumed> ) = 0 (Timeout)`
それが何をしているのかを見つけなければなりません。しかし、私の推測は次のとおりです。
read -sdR CURPOS
read
問題を解決したりタイムアウトを変更したりするには、それを削除できます。