首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linuxEOF写法梳理

在平时运维工作中,我们经常会碰到这样一个场景: 执行脚本时候,需要往一个文件里自动输入N行内容。...如果是少数几行内容,还可以用echo追加方式,但如果是很多行,那么单纯用echo追加方式就显得愚蠢之极了! 这个时候,就可以使用EOF结合cat命令进行行内容追加了。...下面就对EOF用法进行梳理: EOF是END Of File缩写,表示自定义终止符.既然自定义,那么EOF就不是固定,可以随意设置别名,在linux按ctrl-d就代表EOF....下面通过具体实例来感受下EOF用法妙处: 1)向文件test.sh里输入内容。...opt]# sh test.sh           //执行上面脚本 [root@slave-server opt]# cat /usr/local/mysql/my.cnf    //检查脚本中EOF

1.7K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    EOF是什么?

    = EOF) {     putchar (c);   } 很自然地,我就以为,每个文件结尾处,有一个叫做EOF特殊字符,读取到这个字符,操作系统就认为文件结束了。...如果EOF是一个特殊字符,那么假定每个文本文件结尾都有一个EOF(也就是-1),还是可以做到,因为文本对应ASCII码都是正值,不可能有负值。但是,二进制文件怎么办呢?...怎么处理文件内部包含-1呢? 这个问题让我想了很久,后来查了资料才知道,在Linux系统之中,EOF根本不是一个字符,而是当系统读取到文件结尾,所返回一个信号值(也就是-1)。...Linux中,在新一行开头,按下Ctrl-D,就代表EOF(如果在一行中间按下Ctrl-D,则表示输出"标准输入"缓存区,所以这时必须按两次Ctrl-D);Windows中,Ctrl-Z表示EOF...(顺便提一句,Linux中按下Ctrl-Z,表示将该进程中断,在后台挂起,用fg命令可以重新切回到前台;按下Ctrl-C表示终止该进程。) 那么,如果真的想输入Ctrl-D怎么办?

    2.4K30

    getchar(),putchar(),EOF详细解释

    getchar(),putchar(),EOF意义和作用 在 C 语言中,EOF 是 End Of File 缩写,即文件结束标志。...二、EOF 值 在stdio库源码中,我们可以看到EOF定义: EOF 在 C 语言中通常被定义为 -1(不同编译器下可能会有不同结果) #include int main...() { printf("EOF is %d\n", EOF); return 0; } 代码测试,也证明了EOF默认值为-1 要注意,EOF 不是一个字符,而是在I/O中用来表示已到达文件末尾特殊值...= EOF) 循环,只要 c 值不等于 EOF(文件结束标志),循环就会持续进行。 在循环体内,首先使用 putchar(c); 输出刚刚读取到字符。...= EOF 为假 可千万别以为这里输出0 和 1表示EOF值哦 输出结果: 三、总结 不同输入函数对 EOF 处理略有不同 例如:gets 函数在遇到 EOF 时会返回 NULL,

    3810

    EOF是不是字符

    什么是 EOF? 百度百科上这样解释:EOF是一个计算机术语,为End Of File缩写,在操作系统中表示资料源无更多资料可读取。资料源通常称为档案或串流。...通常在文本最后存在此字符表示资料结束。 在这个解释中,认为EOF是表示文件结束字符——这就是本文要重点讨论EOF是不是一个字符? ?...在Unix、Linux系统上,用C语言读写文件,经常会遇到EOF。之所以很多人认为EOF是一个字符串,可能是因为在C语言程序中,会用getchar()和getc()检查是否遇到了EOF。...在Linux系统上,例程直接或间接使用内核提供read()系统调用,例如,C语言中getc()使用read()系统调用,当指示到end-of-file条件,则返回EO。...至此,应该明确了一下几点: EOF不是Unicode字符集中字符 在Unix/Linux系统中,文件最后找不到所谓EOF字符,根本就没有这样一个字符 EOF是程序能够检测到Unix/Linux内核提供一个条件

    4.5K20

    EOF 与 BOF 之分

    1、2、3、4个数据,BOF表示rs当前指针是指在记录集前面,指向编号是(-1),当指针指向5时,就会发生EOF情况。    ...当记录集为空时,就会同时发生BOF和EOF情况,就是说rs指针即在上界之外也在下界之外,这样rs指针无论是指到什么地方都是同时具有bof和eof属性。    ...在我们敲学生信息管理系统时候,在语句中经常出现EOF和BOF使用       1、If mrc.EOF Then——当前指针在最后一条记录之后       2、If Not mrc.EOF Then...     EOF和BOF返回值:       1、BOF返回值:                       True:当前指针位置是在第一行之前                       ...False:当前指针位置实在第一行,或在第一行之后       2、EOF返回值:                       True:当前指针位置是在最后一行后面

    1.3K20

    HDOJ 2047 阿牛EOF牛肉串

    Problem Description 今年ACM暑期集训队一共有18人,分为6支队伍。其中有一个叫做EOF队伍,由04级阿牛、XC以及05级COY组成。...在共同集训生活中,大家建立了深厚友谊,阿牛准备做点什么来纪念这段激情燃烧岁月,想了一想,阿牛从家里拿来了一块上等牛肉干,准备在上面刻下一个长度为n只由”E” “O” “F”三种字符组成字符串...你,NEW ACMer,EOF崇拜者,能帮阿牛算一下一共有多少种满足要求不同字符串吗?...PS: 阿牛还有一个小秘密,就是准备把这个刻有 EOF牛肉干,作为神秘礼物献给杭电五十周年校庆,可以想象,当校长接过这块牛肉干时候该有多高兴!这里,请允许我代表杭电ACMer向阿牛表示感谢!...Output 对于每个测试实例,请输出全部满足要求涂法,每个实例输出占一行。 Sample Input 1 2 Sample Output 3 8 ?

    71710

    feof()函数以及EOF

    到第五次读取完之后,feof(fp)返回才是一个非0值。 c中EOF End of File 在表示操作系统中数据源中没有更多数据可读取。...EOF在c中实际上是一个宏定义,值为-1,可以用来判断文本文件结束,但是不能用来判断二进制文件结束。...c", temp); } } 标准输入都有缓冲区,来存储数据 当缓冲区中有数据:按下ctrl+d输出缓冲区内容,再次按下ctrl+d才表示EOF,才会结束输入 当缓冲区没有数据...12 在linuxEOF标志符(ctrl+d)检测时非阻塞式。而在windows下EOF标识符(ctrl+z)检测是阻塞式。...12 在linux终端下输入命令都是回显非缓冲输入也就是立即回显,键入字符会在屏幕上显示。但是我们在终端输入密码时都是不回显非缓冲输入,键入字符不会显示在屏幕上。

    1.4K10

    【答疑解惑】getchar()与EOF

    = EOF){ putchar(c); } 这一段代码是The C Programming Language(Second Edition)中一个经典代码,很多初学者在看到这段代码时会有不少疑问,这里做一个简单总结...一、getchar两点总结 getchar是以行为单位来读取。 当调用getchar函数读取输入时,只有当输入字符为换行符'/n'或文件结束符EOF时,getchar才会停止执行。...这句话意思比如我们运行上面那段代码时,我们输入是回车键或者EOF(linux下是按下Ctrl+D,windows下是按下Ctrl+Z)是,getchar才结束,而不是像它名字一样,输入一个字符getchar...这是一个初学者经常会迷惑点。 getchar返回值 getchar()返回值一般情况下是非负 值,但也可能是负值,即返回EOF。这个EOF在函数库里一般定义为-1。...正确定义方法如下(K&R C中特别提到了这个问题): int c; c = getchar(); 二、EOF总结 在这个实例中,EOF并不是在任何情况下都作为文件结束符

    1.2K90

    文件结束符EOF

    >> 关于文件结束符EOF EOF 是 End Of File 缩写。在C语言中,它是在标准库中定义一个宏。人们经常误认为 EOF 是从文件中读取一个字符(牢记)。...其实,EOF 不是一个字符,它被定义为是 int 类型一个负数(比如 -1)。EOF 也不是文件中实际存在内容。...当用getchar进行输入时,如果输入第一个字符为有效字符(即输入不是文件结束符EOF,Windows下为组合键Ctrl+Z,Unix/Linux下为组合键Ctrl+D),那么只有当最后一个输入字符为换行符...这也就是为什么getchar结束输入退出时要用EOF原因。2.getchar()返回值一般情况下是字符,但也可能是负值,即返回EOF。...因为getchar函数除了返回终端输入字符外,在遇到Ctrl+D(Linux下)即文件结束符EOF时,getchar()返回EOF,这个EOF在函数库里一般定义为-1。

    4.5K10

    C语言中‘0’和EOF区别

    前提知识 ‘\0’和EOF都是在C语言字符串中出现,想要了解这两位区分我们首先就得了解C语言中字符串定义。...return 0; } 代码结果: EOF在C语言中作用 EOF(End Of File),通常用于指示文件结束或者输入流结束。...空白(tabs, 空格等等)会跳过 scanf()返回值是成功赋值变量数量, 发生错误时返回EOF....一般来说,它返回值是成功读取元素个数。但当遭遇读取失败时,它返回值便是 -1 (也就是它自己返回一个EOF) 。...总结: 虽然’\0’和EOF差别很大,但是很多人在刚接触C语言时经常会对这两个末尾数据搞混。 一个是字符串结束标志’\0’ ,表示是空字符, 一个是文件输入结束标志EOF,其代表着常量-1。

    20810

    【C语言】深入理解EOF

    什么是 EOF? 在 C 语言中,EOF 是一个宏,用于表示文件结束标识符(End-of-File)。它是一个特殊值,通常用于指示文件读取操作已经到达了文件末尾。...在 C 语言标准库中,EOF 具体值可以是一个负整数,具体取决于编译器和平台。...= EOF) { // 处理读取字符 } 2、文件输入操作 在进行文件输入操作时,通常使用 EOF 来检查输入是否已经结束,例如: int value; while (scanf("%d",...,例如: if (fclose(file) == EOF) { // 文件关闭失败处理逻辑 } 结语 EOF 是 C 语言中用于表示文件结束标识符宏定义,它在文件读取、文件输入、文件操作等方面具有重要用途...理解和熟练使用 EOF 可以帮助我们编写更加健壮和可靠文件操作相关 C 语言程序。希望本篇博客能够帮助你更好地理解 EOF 用途和功能,并在日后编程工作中能够更加熟练地运用它。

    35410
    领券