zoukankan      html  css  js  c++  java
  • 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代表错误输出 &-代表关闭与它绑定的描述符

  • 相关阅读:
    pandas 数据结构基础与转换
    Python 基础常用
    css 横向滚动条webkit-scrollbar
    hive mysql 初始化
    hive 的理解
    hive 踩坑
    hbase 调试各种报错
    hbase shell常用命令
    mysql 性能测试工具 mysqlslap
    【CDH学习之一】CDH简介
  • 原文地址:https://www.cnblogs.com/cenglinjinran/p/5056859.html
Copyright © 2011-2022 走看看