为什么"^?" 使用带-n参数的read命令时出现?

Mar*_*tin 1 bash shell terminal prompt

这是我写的小shell脚本:

#!/bin/bash

echo "Tell me something"
read -n 1000 text
Run Code Online (Sandbox Code Playgroud)

但是当使用-n参数时,我无法删除我的拼写错误,因为使用退格键导致插入"^?" 进入输入.

输入示例:

t ^?这是我的回答

我的问题是为什么使用带有或不带-n参数的read会导致不同的行为,为什么我可以使用带-n参数的read,所以我通常可以使用退格?

Joh*_*ica 5

显然-n禁用Readline,当stdin是交互式时,默认情况下通常是打开的.使用-e显式启用它.

read -n 1000 -e text
Run Code Online (Sandbox Code Playgroud)