在这篇文章中,斯蒂芬的回答显示了这段代码:
cat <<-"EOF1" >> myPath/myFile.append
if ! grep -F -q -f myPath/myFile{.append,}; then
cat myPath/myFile.append >> myPath/myFile
fi
为什么这里的文档没有分隔符?
在这篇文章中,斯蒂芬的回答显示了这段代码:
cat <<-"EOF1" >> myPath/myFile.append
if ! grep -F -q -f myPath/myFile{.append,}; then
cat myPath/myFile.append >> myPath/myFile
fi
为什么这里的文档没有分隔符?
我测试的所有 shell 即使没有终止符也能很好地读取 here-document,here-doc 将在文件末尾结束。Bash 对此发出警告,但 busybox/dash/ksh 和 zsh 只是默默地处理它。
例如
但是您提供的特定代码示例似乎是一个错误。正如它所写的那样,它只会将 if 语句附加到
myPath/myFile.append
,这似乎不太有用。看起来 here-doc 的内容和终止符只是从cat
和 之间丢失了if
。