永发信息网

linux输入重定向接EOF的问题

答案:2  悬赏:0  手机版
解决时间 2021-11-15 21:30
linux输入重定向接EOF的问题
最佳答案
command <(内容)
EOF
意思是把内容当作标准输入传给<<前的程序command
你的例子里,ORACLE_HOME/bin/rman log=${RMAN_FILE}.log 你可以看做是一条命令,“log=。。。”是rman的一个参数
”.....B......“在你说的情况下就是rman的命令,这样就不用交互式使用rman,而是一条条自动执行
rman所有命令执行完后,返回到shell,继续执行shell命令”.....C.....“部分

再给你举个例子:
sqlplus user/password <select * from table1;
select * from table2;
EOF
两条select语句输入给sqlplus,这样就不用sqlplus中交互输入SQL语句了
不知道你看明白了吗追问不是很明白您说的这个交互式。
如果这个脚本里面没有EOF这一段的话,脚本应该也是按顺序从A执行到B再到C吧?

您后面举的那个例子,如果没有EOF会怎样交互的处理呢?
我觉得也是登录sqlplus 然后执行选择2个表的内容吧?这里不知道重定向输入有什么别的作用吗?

而且脚本中那句 ORACLE_HOME/bin/rman 我没搞懂这个有什么作用
我觉得我还是没理解..我感觉我理解的<<就是把>>反过来了而已追答你输入

$ORACLE_HOME/bin/rman log=${RMAN_FILE}.log
回车后出来应该是
RMAN>
在此提示符下,你需要输入rman的命令,输入一行,rman执行一行,这就叫交互式
你可以将两个EOF之间(不用输入"<< EOF"和”EOF“)的命令依次输入进去,结果跟脚本中
$ORACLE_HOME/bin/rman log=${RMAN_FILE}.log <.....B......
EOF
是一样的,因为脚本执行的时候一般是不能交互的,特别是定时任务之类自动执行的
后面的例子也是这样,输入
sqlplus user/password
用户名和密码正确的话,会出现提示符:
SQL>
等待你输入一条sql语句,输入完回车,sqlplus执行,然后再输入一条,在执行。。。而例子中两条语句可以连续执行。

rman是ORACLE的一个工具,用于备份、还原和恢复oracle数据库
你可以这样理解:两个EOF之间的语句,可以一次性传给<<之前的命令,作为该命令的输入追问嗯,你说的这个交互式和EOF的意思我明白了。
我之前疑惑那个$ORACLE_HOME/bin/rman的作用,原来是启动RMAN
----
启动RMAN以后,就执行RMAN备份
因为前面还有 log=${RMAN_FILE}.log<那我想问下
是不是执行完备份之后,B部分会被输入到这个log中呢?追答你应该把“$ORACLE_HOME/bin/rman log=${RMAN_FILE}.log”看成一条命令,“log=...”是rman的参数,B部分作为这条命令的输入。
rman的执行过程输出结果记录到log里,而不是B部分的命令。
估计你老想着把命令的stdout和stderr重定向到log文件
这是输入重定向的一种用法。你只要记住

command << EOF
.......
EOF
是固定的用法,EOF之间的命令作为command的标准输入追问加了点分,继续就这个脚本请教一个RMAN备份的问题吧
我之前在windows/linux下做RMAN备份(不用脚本方式)的时候,通常的步骤是
    连接恢复目录数据库和目标数据库 2.run{...分配通道..指定备份路径、备份名字..释放通道}
大概就是上面写的这个样子,但是并没有这里的log=${RMAN_FILE}.log 这一步

这个log=..是shell脚本备份增加的一个参数?
追答跟shell脚本没关系,你单独执行也可以输入log参数,只不过你没用而已
log就是个rman的命令参数,就像你输入rman target /里的target一样

看rman的命令参数:
rman --help

Argument Value Description
-----------------------------------------------------------------------------
target quoted-string connect-string for target database
catalog quoted-string connect-string for recovery catalog
nocatalog none if specified, then no recovery catalog
cmdfile quoted-string name of input command file
log quoted-string name of output message log file
trace quoted-string name of output debugging message log file
append none if specified, log is opened in append mode
debug optional-args activate debugging
msgno none show RMAN-nnnn prefix for all messages
。。。。追问重新测试了一下,把log这一句删除了也能执行...
看来是我之前的测试有误。
感谢耐心解答追答再给你说一句,EOF只是个标记,用其他的字符串可以替代,只要成对出现即可,只要中间包含的内容不含此字符串就可以

比如
command << END
.....
END
全部回答
还在等什么,这么专业的问题,回答不了。赶紧给人家分吧追问皇帝不急急死太监了?分当然是要给人家的,但是问题也是要问完的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
老大烧鸡店我想知道这个在什么地方
冰魄狼王能爆分还是音速小飞能爆分
外国客户的一句话:Quote initial MOQ per de
金橄榄动感娱乐电玩地址在哪,我要去那里办事
哆嘞咪电子游戏地址在哪,我要去那里办事,
南县益阳南县畜牧水产局这个地址怎么能查询到
魔兽世界wow凯帕琥珀哪里多有什么用怎么获得
怎样找失联的QQ好友
铁三角im70,森海mx985,akg k374,森海mx375,
大家说想在比较好的大数据开发学习机构有哪些
开头雪字的成语大全
(残疾人),手里只有1000块钱,可以干什么。
我的户口是常州的集体户口,现在想迁回老家(
现在单开109哪个门派好
圣经中尼八是谁?
推荐资讯
ma ma wo he he ka zuo请问这几个拼音组成一
小狗是什么动物?i 小猫是什么动物?
牛头钻戒
从阿里妈妈进去的链接生成后放收藏夹 再从一
算式88…8×99…9的结果中有多少个1? 8、9各
c1驾照扣12分要到原发证机关办理吗
灌注桩16Φ22沿周边均匀布置,加劲箍筋Φ16@2
移动小天王卡怎么激活
云南财经大学的行政管理专业怎么样?
睡莲的叶子枯了该怎么办,才刚长出花苞!
一个储气罐二台空压机同时工作怎么控制?
绿能电动车属于杂牌吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?