• shell <<EOF


    1、考虑下面的需求,在主shell执行命令,进入其他的命令,后面的输入,想作为命令的输入,而不是主shell的输入,怎么办?

    2、使用<<EOF,告诉主shell,后续的输入,是其他命令或者子shell的输入,直到遇到EOF为止,再回到主shell。

    3、这里的EOF只是分界符,使用其他的字符也可以。

    4、比如cat,不使用EOF,如下:
    [root@localhost ~]# cat >111.txt
    abcd
    1234

    [root@localhost ~]# more 111.txt
    abcd
    1234
    使用EOF
    [root@localhost ~]# cat >111.txt<<EOF
    > aaaa
    > bbbb
    > EOF
    [root@localhost ~]# more 111.txt
    aaaa
    bbbb
    5、mysql安装后之后,忘记密码,可使用说下面的脚本,如下:
    /etc/init.d/mysqld stop

    service mysqld start --skip-grant-tables
    sleep 4
    mysql -hlocalhost << EOF
    update mysql.user set password=password('123456') where user ='root';
    grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
    flush privileges;
    EOF

    /etc/init.d/mysqld restart

    exec 文件描述符[n] <或> file或文件描述符或设备

    在上面讲的输入,输出重定向 将输入,输出绑定文件或设备后。只对当前那条指令是有效的。如果需要在绑定之后,接下来的所有命令都支持的话。就需要用exec命令

    #&[n] 代表是已经存在的文件描述符,&1 代表输出 &2代表错误输出 &-代表关闭与它绑定的描述符

  • 相关阅读:
    洛谷 P1628 合并序列
    洛谷 P3378 【模板】堆
    浅谈可删除堆
    浅谈数据结构—分块
    浅谈对顶堆
    JDOJ 1929: 求最长不下降序列长度
    JDOJ 1928: 排队买票
    Leetcode(53)-最大子序和
    Leetcode(38)-报数
    Leetcode(35)-搜索插入位置
  • 原文地址:https://www.cnblogs.com/cenglinjinran/p/5056859.html
Copyright © 2020-2023  润新知