精华内容
下载资源
问答
  • linux命令 EOF

    2018-09-30 16:58:00
    结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell。 EOF只是一个分界符,当然也可以用abcde替换。当shell遇到<<时,它知道下一个词是一个分界符。在该分界符以后的...

    在shell脚本中,通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell。

    EOF只是一个分界符,当然也可以用abcde替换。
    当shell遇到<<时,它知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。
    此分界符可以是所定义的任何字符串,其实,不一定要用EOF,只要是“内容段”中没有出现的字符串,都可以用来替代EOF,完全可以换成abcde之类的字符串,只是一个起始和结束的标志罢了。

    1,command<<EOF
    (内容)
    EOF
    例如:
     

    代码示例:
    #!/bin/bash
    #Filename:do.sh
    su - oracle -c "
    export ORACLE_SID=orcl
    sqlplus /nolog <<EOF
    connect / as sysdba
    startup;
    exit;
    EOF"
    sleep 5
    su - oracle -c 
    lsnrctl start

    说明:
    将“内容段”整个作为命令的输入。
    用su命令读取整段命令,并逐行执行。

     

    2,特殊用法:
    : << COMMENTBLOCK
       shell脚本代码段
    COMMENTBLOCK
    用来注释整段脚本代码。 : 是shell中的空语句。
     

    echo start
    :<<COMMENTBLOCK
    echo
    echo "this is a test"
    echo
    COMMENTBLOCK
    echo end

    这段脚本执行时,中间部分不会被执行:
     

    代码示例:
    [root@newserver shell]# sh eof.sh
    start
    end

    转载于:https://www.cnblogs.com/7q4w1e/p/9732583.html

    展开全文
  • linux EOF

    2018-06-20 07:37:53
    在平时的运维工作中,我们经常会碰到...这个时候,就可以使用EOF结合cat命令进行行内容的追加了。下面就对EOF的用法进行梳理:EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设...

    在平时的运维工作中,我们经常会碰到这样一个场景:
    执行脚本的时候,需要往一个文件里自动输入N行内容。如果是少数的几行内容,还可以用echo追加方式,但如果是很多行,那么单纯用echo追加的方式就显得愚蠢之极了!
    这个时候,就可以使用EOF结合cat命令进行行内容的追加了

    下面就对EOF的用法进行梳理:
    EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF.
    EOF一般会配合cat能够多行文本输出.
    其用法如下:
    <<EOF        //开始
    ....
    EOF            //结束

    还可以自定义,比如自定义:
    <<BBB        //开始
    ....
    BBB              //结束

    通过cat配合重定向能够生成文件并追加操作,在它之前先熟悉几个特殊符号:
    < :输入重定向
    > :输出重定向
    >> :输出重定向,进行追加,不会覆盖之前内容
    << :标准输入来自命令行的一对分隔号的中间内容.

    下面通过具体实例来感受下EOF用法的妙处:
    1)向文件test.sh里输入内容。
    [root@slave-server opt]# cat << EOF >test.sh 
    > 123123123
    > 3452354345
    > asdfasdfs
    EOF
    [root@slave-server opt]# cat test.sh 
    123123123
    3452354345
    asdfasdfs

    追加内容
    [root@slave-server opt]# cat << EOF >>test.sh 
    > 7777
    > 8888
    EOF
    [root@slave-server opt]# cat test.sh 
    123123123
    3452354345
    asdfasdfs
    7777
    8888

    覆盖
    [root@slave-server opt]# cat << EOF >test.sh
    > 55555
    EOF
    [root@slave-server opt]# cat test.sh 
    55555

    2)自定义EOF,比如自定义为wang
    [root@slave-server opt]# cat << wang > haha.txt
    > ggggggg
    > 4444444
    > 6666666
    wang
    [root@slave-server opt]# cat haha.txt 
    ggggggg
    4444444
    6666666

    3)可以编写脚本,向一个文件输入多行内容
    [root@slave-server opt]# touch /usr/local/mysql/my.cnf               //文件不提前创建也行,如果不存在,EOF命令中也会自动创建
    [root@slave-server opt]# vim test.sh
    #!/bin/bash

    cat > /usr/local/mysql/my.cnf << EOF                                      //或者cat << EOF > /usr/local/mysql/my.cnf
    [client]
    port = 3306
    socket = /usr/local/mysql/var/mysql.sock

    [mysqld]
    port = 3306
    socket = /usr/local/mysql/var/mysql.sock

    basedir = /usr/local/mysql/
    datadir = /data/mysql/data
    pid-file = /data/mysql/data/mysql.pid
    user = mysql
    bind-address = 0.0.0.0
    server-id = 1
    sync_binlog=1
    log_bin = mysql-bin

    [myisamchk]
    key_buffer_size = 8M
    sort_buffer_size = 8M
    read_buffer = 4M
    write_buffer = 4M

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
    port = 3306
    EOF

    [root@slave-server opt]# sh test.sh           //执行上面脚本
    [root@slave-server opt]# cat /usr/local/mysql/my.cnf    //检查脚本中的EOF是否写入成功
    [client]
    port = 3306
    socket = /usr/local/mysql/var/mysql.sock

    [mysqld]
    port = 3306
    socket = /usr/local/mysql/var/mysql.sock

    basedir = /usr/local/mysql/
    datadir = /data/mysql/data
    pid-file = /data/mysql/data/mysql.pid
    user = mysql
    bind-address = 0.0.0.0
    server-id = 1
    sync_binlog=1
    log_bin = mysql-bin

    [myisamchk]
    key_buffer_size = 8M
    sort_buffer_size = 8M
    read_buffer = 4M
    write_buffer = 4M

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
    port = 3306

    ---------------------------------------------------------------------------------
    下面分享一个自动新建分区并挂载的脚本:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [root@es-node1 ~]# cat auto_add_disk.sh         
    #!/bin/bash
    fdisk /dev/sdb <<EOF
    n
    p
    1
     
     
    wq
    EOF
     
    /sbin/mkfs.ext4 /dev/sdb1 &&  /bin/mkdir -p /data && /bin/mount /dev/sdb1 /data
    echo 'LABEL=data_disk /data ext4 defaults 0 2' >> /etc/fstab

    出处:https://www.cnblogs.com/kevingrace/p/6257490.html

    展开全文
  • linux命令cat EOF详解

    万次阅读 2019-01-30 16:36:58
    参考了以下两篇博文 https://blog.csdn.net/hanruikai/article/details/8027875 ... 一,关于cat << EOF语句的意思 在linux shell脚本中cat << EOF的语句,起到什么作用? ...

    参考了以下两篇博文

    https://blog.csdn.net/hanruikai/article/details/8027875

    http://blog.csdn.net/apache0554/article/details/45508631

     

    一,关于cat << EOF语句的意思

    在linux shell脚本中cat << EOF的语句,起到什么作用?

    首先必须要说明的是EOF在这里没有特殊的含义,你可以使用FOE或OOO等(当然也不限制在三个字符或大写字符)。

    接下来,简单描述一下几种常见的使用方式及其作用:

    1、cat<<EOF,以EOF输入字符为标准输入结束:

    2、cat>filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入结束:

    3、cat>filename<<EOF,以EOF作为输入结束,和ctrl+d的作用一样:

     

    二,cat <<EOF与cat <<-EOF的区别

     

    两个都是获取stdin,并在EOF处结束stdin,输出stdout。

    但是<<-是什么意思呢?

    先来看man中的说明:

    If the redirection operator is <<-, then all leading tab characters are stripped from input lines and  the  line  containing  delimiter.   

    翻译过来的意思就是:如果重定向的操作符是<<-,那么分界符(EOF)所在行的开头部分的制表符(Tab)都将被去除。

    这可以解决由于脚本中的自然缩进产生的制表符。

    通俗一点的解释:

    在我们使用cat <<EOF时,我们输入完成后,需要在一个新的一行输入EOF结束stdin的输入。EOF必须顶行写,前面不能用制表符或者空格。

    比如,下面的语句就不会出错:

     

    1. cat >1.txt<<EOF  
    2. Hello,world!  
    3. EOF  

    如果结束分解符EOF前有制表符或者空格,则EOF不会被当做结束分界符,只会继续被当做stdin来输入。

    而<<-就是为了解决这一问题:

     

    1. cat >1.txt<<-EOF  
    2. Hello,world!  
    3.       EOF  

    上面的写法,虽然最后的EOF前面有多个制表符和空格,但仍然会被当做结束分界符,表示stdin的结束,这就是<<和<<-的区别。

    文末分享一些技术学习视频资料:https://pan.baidu.com/s/13dbR69NLIEyP1tQyRTl4xw

    展开全文
  • linux cat 命令EOF使用

    2016-10-11 10:37:00
    1、cat<<EOF,以EOF输入字符为标准输入结束: 2、cat>filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入结束: 注意:输入时是没有'>'的。 3、cat>filename<<EOF,以EOF作为输入结束...

    1、cat<<EOF,以EOF输入字符为标准输入结束: 输入图片说明

    2、cat>filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入结束: 输入图片说明

    注意:输入时是没有'>'的。

    3、cat>filename<<EOF,以EOF作为输入结束,和ctrl+d的作用一样: 输入图片说明

    转载于:https://my.oschina.net/superise/blog/756696

    展开全文
  • Linux命令-EOF

    2015-06-02 15:25:28
    原文地址: ... shell编程—— EOF  在shell编程中,”EOF“通常与” ...交互式程序(命令)<<EOF command1 command2 ... EOF  ”EOF
  • linux cat命令的<<EOF

    千次阅读 2017-11-29 09:49:32
    初初开始学习linux命令,只对linux一些简单命令有一些了解! 首先我看到网上有一些创建一个文件采用的命令是(mkdir创建文件夹):cat > test1.txt 其实一直不知道他加个EOF是什么意思?后来网上找资料看了...
  • 一、什么是EOFEOF是END Of File的缩写,表示自定义终止符. 二、EOF怎样用? 1.用法说明:通过cat配合重定向能够生成文件并追加操作 2.场景示例:场景是我在安装DM数据库时,需要修改一个配置文件,采用EOF进行追加...
  • 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。可以把EOF替换成其他东西,意思是把内容当作标准输入传给程序。 回顾一下< <的用法。当shell看到< <的时候...
  • linux EOF 写法梳理

    2018-11-15 19:04:00
    在平时的运维工作中,我们经常会碰到...这个时候,就可以使用EOF结合cat命令进行行内容的追加了。 下面就对EOF的用法进行梳理:EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随...
  • linux命令说明:cat EOF

    2020-06-08 11:04:36
    加了个EOF其实和ctrl+c退出时一个意思,作为一个结束分界符,EOF也不是固定关键字,你可以随便指定,只是通常用EOF标识end of file,so,就是stdin输入完成后,最后输入一个EOF退出。 cat >> star.txt <<...
  • Linux命令:cat file EOF

    2020-04-03 19:08:32
    -EOF 获取键盘输入,并输出到file种。 用法 root@kail ~# cat > test.log <<-EOF \ 1 \ 2 \ 3 \ EOF root@kail ~# cat test.log 1 2 3 好奇EOF是什么嘛? 就是一个标识符而已,当然你可以随便写。 ...
  • 其中EOF这个字符串是没有任何特殊的意义的,只是表示输入内容的结束符号,也可以换成其它任意的字符来表示输入内容的结束,例如下面实例使用12345表示内容的结束符: cat > hello.txt << 12345 hello, ...
  • Linux CAT与ECHO命令详解 cat命令Linux下的一个文本输出命令,通常是用于观看某个文件的内容的; cat主要有三大功能: 1.一次显示整个文件。 $ cat filename 2.从键盘创建一个文件。 $ cat > ...
  • EOF可以结合cat命令对内容进行追加。比如:执行脚本的时候,需要往一个文件里自动输入多行内容。如果是少数的几行内容,可以用echo命令追加,但如果是很多行,那么单纯用echo追加的方式就不太适合了。1.语法格式:&...
  • linux——EOF

    2020-04-20 14:23:58
    在平时的运维工作中,我们经常会碰到这样一个...这个时候,就可以使用EOF结合cat命令进行行内容的追加了。 下面就对EOF的用法进行梳理: EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,...
  • 在平时的运维工作中,我们经常会碰到...这个时候,就可以使用EOF结合cat命令进行行内容的追加了。下面就对EOF的用法进行梳理:EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设...
  • Linux xargs 命令

    千次阅读 2015-08-29 16:58:49
    2015-08-29 创建 1、概述  从标准输入中创建并且执行命令行。  xargs 从标准输入中读取条目,使用空格(这样可以保护单双引号或者反斜杠)或者换行符... xargs [-0prtx] [-E eof-str] [-e[eof-str]] [--eof[=eof-str]
  • Linux wall命令用法详解

    2021-01-09 20:22:40
    Linux wall命令 Linux wall命令会将讯息传给每一个 mesg 设定为 yes 的上线使用者。当使用终端机介面做为标准传入时, 讯息结束时需加上 EOF (通常用 Ctrl+D)。 使用权限:所有使用者。 语法wall [ message ] 实例 传...
  • cat命令linux下的一个文本输出命令,通常是用于观看某个文件的内容的; EOF是“end of file”,表示文本结束符。 结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。 例如:shell脚本里边 ...
  • linuxeof用法

    2017-12-12 17:18:51
    EOF(End OF File)在Linux命令和脚本中表示用户自定义终止符,其用法如下: << EOF ... EOF 其中的"..."表示用户输入内容。 说明:EOF只是一个标示符,可以用其它非关键字符或字符串来代替,例如: << ...
  • Linux基础命令

    2020-01-07 20:49:53
    命令提示符: KaTeX parse error: Expected 'EOF', got '#' at position 11: (普通用户) #̲(root用户) … 切换用户:su root 密码:Taren1.bgsn 退出方式:alt+F4 exit ctrl+c ctrl+d 2.linux命令 ifconfig #查看ip...
  • linux常用命令

    2019-09-26 12:25:51
    开始上班了,晚上加班,学习下Linux的基本命令。 1,重要的几个热键[Tab],[ctrl]-c, [ctrl]-d [Tab]按键---具有『命令补全』不『档案补齐』的功能 [Ctrl]-c按键---让当前的程序『停掉』 [Ctrl]-d按键---通常代表...
  • linuxEOF写法梳理

    2019-06-19 10:10:45
    linuxEOF写法梳理 在平时的运维工作中,我们经常会碰到这样一个场景: 执行脚本的时候,需要往一个文件里自动输入N行内容。如果是少数的几行内容,还可以用echo追加方式,但如果是很多行,那么单纯用echo追加的...
  • Linux操作命令

    2019-12-03 23:29:49
    1.在window环境上编写的脚本在linux上执行会报错,需设置文件格式,在命令格式下set ff=unix 2. #!/bin/bash cd /opt/rocketmq-4.5.1/bin sh mqnamesrv & ssh root@192.168.1.137 <<EOF cd /opt/...
  • linux tee命令

    2020-07-21 21:36:30
    我觉得腾讯云还是太慢了没有阿里云加速器好用 然后自己创建文件怎么也...又可以,我都怀疑是不是我没有加sudo 顺便学习一下tee命令 我都好像没有用过这个。然后我不管是学c++还是pipe总分不清 << >> |

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 470
精华内容 188
关键字:

linuxeof命令

linux 订阅