我是这样想的:
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?
该-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部分是可编辑的。