📅  最后修改于: 2023-12-03 15:36:26.488000             🧑  作者: Mango
在 Shell-Bash 中,使用 -i 选项可以让我们交互式地执行命令或脚本,并建议答案 (suggested response)。这是一个很好的技巧,因为这样可以避免手动输入命令或脚本中的参数,提高工作效率。
bash -i filename arg1 arg2 ...
使用 -i 选项可以在执行脚本的同时交互式地提供参数。
假设我们有一个名为 myscript.sh
的脚本,它需要用户输入文件名和文件扩展名,并将它们连接起来成为一个新的文件名。
#!/bin/bash
echo "Enter filename:"
read fname
echo "Enter file extension:"
read ext
new_fname=$fname.$ext
echo "New file name is: $new_fname"
如果直接运行这个脚本,它会等待用户输入文件名和文件扩展名。
现在,我们可以使用 -i 选项为这个脚本提供参数并建议答案,使其自动输入文件名和文件扩展名。例如:
bash -i myscript.sh <<< $'file\ntxt\n'
结果输出为:
New file name is: file.txt
这里我们使用了 Here string 语法 (<<<
或 <<
) 以及 $'...'
语法以提供多行输入。其中,<<<
表示从字符串中读取输入,$'...'
则表示一个带换行符的字符串。
通过使用 -i 选项,我们可以轻松地在执行脚本时提供参数,并且可以建议答案以加快脚本执行速度。此外,还可以通过自动化脚本来实现更复杂的自动化流程。