为了账号安全,请及时绑定邮箱和手机立即绑定

求教一个关于shell脚本的关于here document问题 ,麻烦大佬帮忙看看!

求教一个关于shell脚本的关于here document问题 ,麻烦大佬帮忙看看!

一只名叫tom的猫 2021-10-14 21:11:15
一个shell脚本的关于here document问题 情况:登录linux系统, (1)当前提示符$,执行inaccess 43210 命令后,输出一些提示信息,提示符变为inaccess>(2)当前提示符inaccess>,执行a scf1 命令后,输出一些欢迎信息,提示符变为scf1>(3)当前提示符scf1>,执行servicest 922 -week,输出一些业务结果信息,提示符还为scf1>(4)当前提示符scf1>,执行quit,提示符变为inaccess>(5)当前提示符inaccess>,执行quit,提示符变为$运行正常。我目前写了一段shell脚本,定义为test.sh内容为:inaccess 43210 <<EOF>>test.loga scf1servicest 922 -weekquitquitEOF结果:$./test.sh执行test.sh脚本后,进程一定停在那边,也没正常结束,我ctrl+c,结束进程后,返回到提示符$日志结果是inaccess的一些提示信息inaccess>a scf1scf1的一些欢迎信息scf1>servicest 922 -weekquitquitservicest 922 -week执行后的一些结果信息inaccess>进程好像一起在提示符inaccess>,没有退出,因为在scf1>提示符下执行了2次,请问一下,如果修改这个shell脚本,能使脚本正常结束?
查看完整描述

2 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

servicest 922 -week
这个命令在执行时有点问题吧,看日志现象它在执行时,本命令还没有结束时后面的命令就执行开了,估计你得好好研究一下他的问题。
你的scf1状态必须等到它(servicest 922 -week)的结束才能执行quit(有效的quit)
给一个不太好的提示吧:估计一下servicest 922 -week的执行时间,在其后加sleep n
n=你估计的时间,可能可以正常。

查看完整回答
反对 回复 2021-10-18
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

建议你用exepct来实现。

查看完整回答
反对 回复 2021-10-18
  • 2 回答
  • 0 关注
  • 171 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信