shell中 << EOF 和 EOF 使用
转载请注明出处:
EOF(End of File)在Shell中通常用于指示输入的结束,并在脚本或命令中进行多行输入。它允许用户指定一个特定的分界符来表示输入的结束,通常用于创建临时文件、重定向输入或在脚本中提供多行输入。
EOF允许用户指定一个特定标记,在其之后输入的所有文本都被当作输入,直到再次看到该标记为止。这使得在Shell中进行多行输入变得简单且直观。
使用方法
在shell中,EOF通常与Here文档结合使用。Here文档是一种将多行输入传递给命令或脚本的方法,而EOF则用于指示输入的结束。
下面是EOF的一些使用场景及示例说明:
1.重定向输入到命令
cat << EOF
This is a multi-line input
Using EOF in shell
to indicate the end of input
EOF
这里,cat
命令将读取Here文档中的多行输入,直到遇到EOF为止。
2.在脚本中使用EOF
#!/bin/bash
echo "Starting the script"
# Commands here
cat << EOF
This is a multi-line input
Within a shell script
EOF
# More commands
echo "Script finished"
在这个例子中,EOF用于在脚本中提供多行输入。
3.创建临时文件
cat > file.txt << EOF
This is the content of the file
It spans multiple lines
EOF
这里,cat
命令将把Here文档中的内容重定向到file.txt文件中,直到遇到EOF为止。
4.使用多个Linux shell命令行的示例:
cat << EOF
This is a multi-line input
Using multiple shell commands within Here document:
$(ls -l)
$(echo "Hello, world!")
EOF
在这个示例中,ls -l
和echo "Hello, world!"
是两个不同的Linux shell命令。当Here文档中包含$(...)
时,其中的内容会被解释并执行。因此,在此示例中,在Here文档中执行了ls -l
以及echo "Hello, world!"
这两个命令。
5.shell脚本中使用:
#!/bin/bash # 远程登录到服务器
ssh -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null" root@192.168.118.30 << EOF
# 在远程服务器上执行命令
echo "Hello, World!"
hostname -I ##30环境配置打印
EOF
##40环境配置打印
hostname -I
这段shell脚本在 40 的服务器节点上执行时,<< EOF 与 EOF 之间的命令执行是 在 前面ssh 的 192.168.118.30 的服务器节点上执行的。如果没有 <<EOF 与 EOF ,那后面的命令解释执行将都在shell脚本运行的40环境。
shell中 << EOF 和 EOF 使用的更多相关文章
- linux shell 中的sleep命令
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...
- shell 中的与、或表达式
今天总结一下linux shell中逻辑关机表达方式.逻辑与的表达: 1).if [ $xxx=a -a $xx=b ] 注:-a表示and的意思 2).if [ $xxx=a ] && ...
- shell简单用法笔记(shell中数值运算)二
shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法 ...
- shell中{}的妙用
shell中${}的妙用 1. 截断功能 ${file#*/}: 拿掉第一条/及其左边的字符串:dir1/dir2/dir3/my.file.txt ${file##*/}: 拿 ...
- shell中命令之间数据的传递
1.管道 "|" ls | cat -n > out.txt 2. 子shell 2.1 子shell 说明 在shell脚本中可以用()操作符可以定义一个子shell #/ ...
- shell中&&和||的使用方法
测试题: [ -z "" ] && echo 0 || echo 1 的结果是多少 看看这两个 && || 的用户 http://blog.csd ...
- 任督二脉之Shell中的正则表达式
VBird说学习Linux,掌握了Shell和正则就相当于打通了任督二脉,此后能力的成长才会突飞猛进. Shell的基础学习之前已经总结了一篇博客:http://www.cnblogs.com/jyz ...
- shell中条件判断if中的-z到-d的意思
shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 ...
- shell中的循环
shell中的循环 for循环 类似于C语言的步长控制 例如: ;i<=;i++)); ); done 将1到10,依次乘以4,然后打印出来. 这里顺便提一下,shell里面表达式的计算,可以有 ...
- shell中&&和||的使用方法_转
shell中&&和||的使用方法 &&运算符: command1 && command2 &&左边的命令(命令1)返回真(即返 ...
随机推荐
- PC首页资源加载速度由8s降到2s的优化实践
随着需求的不断开发,前端项目不断膨胀,业务提出:你们的首页加载也太慢啦,我都需要7.8秒才能看到内容,于是乎主管就让我联合后端开启优化专项,目标是3s内展示完全首页的内容. 性能指标 开启优化时,我们 ...
- Linux Ubuntu 安装Qt【安装完可以直接运行】
1.安装 Qt: 第一步:到官网http://download.qt.io/archive/qt/下载 Qt 安装包,此处本人安装的是 qt-opensource-linux-x64-5.7.0.ru ...
- 「sdoi2019 - D2T2」移动金币
对 @command_block 没有 implementation 做法的细化.理论来说可以通过,但因为我实现得较劣无法通过.:( 把金币中的空隙看作石子,就是一个阶梯 Nim 的模型(有总共 \( ...
- 创建及管理DSW实例
机器学习PAI 产品概述 快速入门 操作指南 准备工作 工作空间管理 AI计算资源管理 AI开发 开发流程 快速开始 智能标注(iTAG) 可视化建模(PAI-Designer) 交互式建模(PA ...
- commons中StringUtils的全解
StringUtils()方法的导入包是:org.apache.commons.lang3.StringUtils 作用是:StringUtils()方法是 Apache Commons Lang 库 ...
- Gson替换掉多漏洞的FastJson
添加依赖: <!-- gson --> <dependency> <groupId>com.google.code.gson</groupId> < ...
- @ApiImplicitParam dataType属性失效
最近在弄swagger,老是碰到注解属性失效问题.百度看了一大推,都是说什么版本问题.但是都不是我遇到的情况,下面直接上我遇到的问题及答案 可以看到,我直接用Integer,或者int,去到swa ...
- tomcat nio2源码分析
一. 前言 最近在看tomcat connector组件的相关源码,对Nio2的异步回调过程颇有兴趣,平时读源码不读,自己读的时候很多流程都没搞明白,去查网上相关解析讲的给我感觉也不是特别清晰,于 ...
- 美团面试:Redis 除了缓存还能做什么?可以做消息队列吗?
这是一道面试中常见的 Redis 基础面试题,主要考察求职者对于 Redis 应用场景的了解. 即使不准备面试也建议看看,实际开发中也能够用到. 内容概览: Redis 除了做缓存,还能做什么? 分布 ...
- 夯实JAVA基本之一——泛型详解(2):高级进阶(转)
上一篇给大家初步讲解了泛型变量的各种应用环境,这篇将更深入的讲解一下有关类型绑定,通配符方面的知识. 一.类型绑定1.引入我们重新看上篇写的一个泛型:class Point<T> { pr ...