打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
shell 中的EOF

shell中EOF的作用?

2013-01-09 18:137933419 | 分类:其他编程语言 | 浏览4862次
以下是shell脚本,不明白EOF的作用,脚本的大概作用我也理解,只想找人给我分析一下,我已经百度 google sogo so  youdao过了,另复制了,举例说明最好了。
==================================================================
#!/bin/bash
TARGET_DIR=$PWD
cd /
list=`cat << EOF
usr/local/Trolltech/QtEmbedded-4.6.3-arm/examples/widgets/wiggly/wiggly
usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher/screenshots/raycasting.png

usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher/slides/demo_6.png
usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher/slides/demo_3.png
usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher/slides/demo_5.png
usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher/fluidlauncher
usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher/config.xml
usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/styledemo/styledemo
usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/pathstroke/pathstroke.html
usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/pathstroke/pathstroke
EOF
`
tar cfvz $TARGET_DIR/target-qte-4.6.3.tgz $list
2013-01-09 19:14提问者采纳
这是 Here document 用法
EOF本意是 End Of File,表明到了文件末尾。

使用格式基本是这样的:
命令 << EOF
内容段
EOF
将“内容段”整个作为命令的输入。
你的代码里就是用cat命令读入整段字符串并赋值给list变量。
其实,不一定要用EOF,只要是“内容段”中没有出现的字符串,都可以用来替代EOF,只是一个起始和结束的标志罢了。

有个特殊用法不得不说:
: << COMMENTBLOCK
shell脚本代码段
COMMENTBLOCK
这个用来注释整段脚本代码。 : 是shell中的空语句。

搜索一下 Here document 你会明白更多。
追问
明白一点了,你能给我举例说明吗,比如我上边的例子,如果很短 内容,就一行,不用EOF EOF会是什么写法,我就更明白了,我会加分的。真xin谢谢
回答
如果就一行,那么直接赋值即可:
list="usr/local/Trolltech/QtEmbedded-4.6.3-arm/examples/widgets/wiggly/wiggly"

EOF相当于读文件的方式,适用于多行内容的操作。
提问者评价
太感谢了,真心有用
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
最新版qtE4.5.2成功移植编译及运行
编译安装tslib1.4
qt-configure-arm
QT学习之一:Linux下安装QT之版本qt
QT嵌入式开发环境搭建
Qt4.7.0移植到mini2440
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服