以下程序中有哪些=============?该部分是需要还是注释块,可以取出?我对UNIX有些新意,所以我试着阅读代码来理解它,并且不知道为什么会这样。此外,它下面的EOF是什么意思。我也不确定那条线的含义。有人可以解释一下吗?提前致谢
#!/bin/bash
usage() {
cat <<-EOF
========================================================
Usage: $0
Choose either y or n in "do you want to continue"
Choose from option A - E in mainmenu to perform actions.
========================================================
EOF
}
答案 0 :(得分:3)
此问题"How does “cat << EOF” work in bash?"解释了cat
如何用于“此处的文档”。
How can I write a heredoc to a file in Bash script?
上的这个问题也有详细的答案,专门针对此使用cat
,并包含将内容写入文件的示例:
cat << EOF > /tmp/yourfilehere
These contents will be written to the file.
This line is indented.
EOF
来自here-docs的Advanced Bash-Scripting Guide部分:
此处的文档是一个专用代码块。它使用一种I / O形式 重定向以将命令列表提供给交互式程序或 命令,例如ftp,cat或ex文本编辑器。
在这种情况下,========================================================
只是要显示的文本内容。
查看你的代码,heredoc是在一个名为usage
的方法中定义的,似乎是从error_exit()
调用的,所以我想在那里显示一条关于脚本使用的消息输入错误选项的用户。
EOF
是“文件结尾” - 将其视为heredoc内容的开头和结尾。
回答你的问题是否可以取出========================================================
- 是的,它可以。所有将要发生的是它将不再显示给用户。
但是,请勿删除EOF
!