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代表错误输出 &-代表关闭与它绑定的描述符

shell <<EOF的更多相关文章

  1. 需要交互的shell编程——EOF(转载)

    在shell编程中,”EOF“通常与”<<“结合使用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到遇到”EOF“, 再次返回到主调shell,可将其理解为分 ...

  2. shell编程—— EOF

    在shell编程中,”EOF“通常与”<<“结合使 用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到遇到”EOF“,再次返回到主调shell,可将其理解为分 ...

  3. shell 通过EOF在脚本中输入需要的用户名或密码

    参考地址:https://www.cnblogs.com/liyuanhong/p/10390786.html expect使用参考:https://www.cnblogs.com/liyuanhon ...

  4. shell cat EOF 变量自动解析问题

    使用如下shell安装node时,一直提示 command not found wget https://mirrors.huaweicloud.com/nodejs/latest-v8.x/node ...

  5. shell的EOF用法

    将命令输出的结果给一个循环处理,常用的方式如下: [root@etch171 guosong]# ls |while read line;do echo $line;done processlist ...

  6. Shell中EOF内容转义

    1.在$符号前面加反斜杠,如: cat > test.sh <<EOF \$test EOF 如果不加,将转成实际的值. 2.给EOF加个双引号,如: cat > test.s ...

  7. about shell

    摘抄 cat 等 cat主要有三大功能:1.一次显示整个文件.$ cat   filename2.从键盘创建一个文件.$ cat  >  filename只能创建新文件,不能编辑已有文件.3.将 ...

  8. shell编程之重定向

    标准输入,输出和错误---------------------------------文件文件                描述符---------------------------------输 ...

  9. 关于EOF的使用的好文章

    Linux shell脚本EOF妙用 https://blog.csdn.net/zongshi1992/article/details/71693045

  10. shell脚本判断语句和循环语句

    if判断语句 exit跳出判读语句 不加exit的结果 read -n(不换行) 判断是否输入的是数字 read age[[ $age =~ ^[0-9]+$ ]]if [ $? -ne 0 ]; t ...

随机推荐

  1. Linux 之集群 LVS

    查看系统是否支持IPVS功能 [root@nginx ~]# grep -i 'ipvs' /boot/config-2.6.18-308.el5 # IPVS transport protocol ...

  2. jquery 使用方法(二)

    jquery語法: jquery語法是為html元素的选取编制的,可以对元素执行某些操作. 基础语法是:$(selector).action() 美元符号定义 jQuery 选择符(selector) ...

  3. 6.openssl rsautl和openssl pkeyutl

    rsautl是rsa的工具,相当于rsa.dgst的部分功能集合.可用于签名.验证.加密和解密文件.非对称密钥的密钥是随机生成的,因此不需要也无法指定salt参与加密. pkeyutl是非对称加密的通 ...

  4. 微软ASP.NET技术“乱谈”

    微软ASP.NET技术“乱谈” 2014新年了,顺手写的一点文字,主要谈谈我对当前微软ASP.NET技术的看法,比较随意,大伙儿随便看看吧. 1 当前微软Web平台技术全貌 从2002年发布.NET ...

  5. python day 1--python初始

    笔者:QQ:   360212316 Python初识 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  6. subversion(SVN)安装配置

    简介subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件.Subversion是一个版本控制系统,相对于的RCS. ...

  7. python求范数

    import numpy as npa=np.array([[complex(1,-1),3],[2,complex(1,1)]])  print(a)print("矩阵2的范数" ...

  8. 写了好多次SSH现在对于框架还是有一定的基础了,但是对于框架下我们该如何进行操作呢???

    首先,对于一个老手来说,我们最快捷的就是ctrl+c和ctrl+v,但是我们自己应该复制哪一些代码呢? 1.在我们导完包之后,我们需要写的就是web.xml,在其中,我们要有过滤器及映射和监听器. w ...

  9. 将C#datagridview控件的数据导出到Excel中

    1.添加引用Microsoft.Office.Interop.Excel. 2.程序代码引用using Excel = Microsoft.Office.Interop.Excel; 3.控件事件代码 ...

  10. 图解直方图均衡化及其Python实现

    在理解直方图均衡化的过程中,参考了一些书籍和博客,让人困惑的是,笔者对于直方图的理解还是停留在表面,并没有深入理解其内涵.因此,本文拟结合图片对直方图的概念进行阐述,并给出其Python实现,最后对她 ...