shell 脚本求教

2020-10-22 20:49:09 +08:00
 Chuizi997

如何在脚本中实现 执行到操作 4 的时候,屏幕开始计数(操作 5),当操作 5 执行完毕后,操作 4 也停止,再继续后续的操作,请问该如何实现呢 有没有这样的操作呀,试了挺久都没成功

#操作 1
#XXX
#操作 2
#XXX
#操作 3
#XXX

#操作 4
clear;while : ;do let i++; echo $i  ;sleep 0.1 ;clear;done 

#操作 5
#操作 5 需要一些时间才能执行完(操作 5 不输出信息)

#操作 6
XXX

2425 次点击
所在节点    Linux
5 条回复
dorothyREN
2020-10-22 21:00:26 +08:00
把 5 的操作重定向一下就行吧
YenvY
2020-10-22 22:20:08 +08:00
操作 4 | tee /dev/tty | 操作 5
lululau
2020-10-22 22:29:23 +08:00
操作 1
操作 2
操作 3
操作 4 &
操作 5 &
wait %2
kill %1
操作 6
user8341
2020-10-22 22:55:39 +08:00
@lululau

如果这样可以吗?
----------------------------------------
操作 4 &
process_id=$!
操作 5
kill $process_id
howandsen
2020-10-27 23:16:41 +08:00
#!/bin/bash
#
# vim:ft=sh

############### Variables ###############

############### Functions ###############

############### Main Part ###############

f=$(mktemp XXXXX)

I_am_5(){
sleep 3
rm $f
}

I_am_4(){
while :
do
[ ! -f "$f" ] && return
echo counting...
sleep 1
done
}

I_am_5 &

I_am_4

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/717612

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX