eof脚本
Ⅰ linux下运行python脚本,屏幕上输入一行字符,怎么显示这个脚本的结果呢按回车不显示结果呀
执行你的脚本,你在给sys.stdin输入内容的时候,回车也是内容的一部分,stdin会等到一个eof标识用来判断一次输入的结束(EOF(End Of File),在操作系统中表示资料源无更多的资料可读取)。
linux中,eof标识是ctrl+d,所以你可以尝试输入一些内容,然后执行ctrl+d
Ⅱ shell中EOF的作用
这是 Here document 用法
EOF本意是 End Of File,表明到了文件末尾。
使用格式基本是这样的:
命令 << EOF
内容段
EOF
将“内容段”整个作为命令的输入。
你的代码里就是用cat命令读入整段字符串并赋值给list变量。
其实,不一定要用EOF,只要是“内容段”中没有出现的字符串,都可以用来替代EOF,只是一个起始和结束的标志罢了。
有个特殊用法不得不说:
: << COMMENTBLOCK
shell脚本代码段
COMMENTBLOCK
这个用来注释整段脚本代码。 : 是shell中的空语句。
搜索一下 Here document 你会明白更多。
Ⅲ shell脚本里xEOF什么作用
从<<xEOF 到 xEOF这之间的内容完全作为mdsql这句话的输入
xEOF并不是什么关键字或者函数,只是通过here document(<<)这种方式把一行或几行的命令定向给一个命令作为输入。
Ⅳ mysql是用的.sh写的脚本,执行后提示没有命令
在Shell中执行mysql的脚本,这里介绍比较容易使用的一种方法
首先写好sql的脚本,后缀为.sql,比如
sql_file.sql:内容如下
#这是SQL的脚本
create table if not exists test_sql(id int(10),name varchar(20));
insert into test_sql values(1,'正餐');
select * from test_sql;
很简单的创建、插入、查询
之后shell的脚本,内容如下
#!/bin/bash #这是执行SQL的脚本,传入数据库表,和SQL文件名即可
name=$1
file_name=$2
cd /opt/lampp/bin ./mysql -uroot -p123456 <<EOF
use ${name};
source ${file_name};
EOF
./mysql -uroot -p123456是进入mysql的命令,前面的路径可以改成自己的绝对路径
<< EOF EOF 中间可以写出任意的mysql脚本
其中,如果要执行某个.sql的命令,直接用 source 脚本.sql 即可执行该脚本上面的命令,这里使用的是source sql_file.sql
此外,如果在mysql中需要执行shell脚本
可以在EOF中 ./mysql -uroot -p123456<<EOF \! sh shell.sh EOF
前面加上 !\ +linux中执行的shell命令即可