bash 中“read”中“-i”的用途是什么?你如何使用它?

Gab*_*les 1 linux bash shell

我是这样想的:

read -p "Make this rsync backup session a dry run [Y/n]? " -i '--dry-run' dry_run
echo "$dry_run"
Run Code Online (Sandbox Code Playgroud)

...如果我只是点击回复提示,则会输出--dry-run为其“默认值” 。Enter但是,事实并非如此。它输出一个换行符。

其目的是什么-i以及如何运作?

help read

-i text   use TEXT as the initial text for Readline
Run Code Online (Sandbox Code Playgroud)

对于任何想了解我在哪里学习如何向用户发出 bash 提示的人:How do I read user input into a variable in Bash?

Ben*_* W. 5

-i选项仅与启用使用 Readline 的选项一起使用-e,并且它会在提示中预填充其内容:

read -ep "Make this rsync backup session a dry run [Y/n]? " -i '--dry-run'
Run Code Online (Sandbox Code Playgroud)

打印此提示:

Make this rsync backup session a dry run [Y/n]? --dry-run
Run Code Online (Sandbox Code Playgroud)

其中该--dry-run部分是可编辑的。