写followbash脚本的人已经离开了,我需要弄清楚他写的followbash脚本的含义。在运行一些需要运行mysql示例的测试用例之前,这个脚本在docker容器中执行。
我想这是关于启动一个mysql服务器的,但是我不太清楚这个脚本中每个语句的确切含义。
echo -n "Loading [+"
( echo "SHOW TABLES;" | mysql mysql 2>/dev/null 1>/dev/null ) || \
run-mysqld 2>/dev/null 1>/dev/null &
while ! ( echo "SHOW TABLES;" | mysql mysql 2>/dev/null 1>/dev/null ) ;
do
echo -n +
sleep 1
done
echo "] Done."
我必须弄清楚这一点,因为我们的bitbucket管道最近在运行这个脚本时遇到了阻塞和超时(以前还可以)。提前谢谢。
1条答案
按热度按时间ckx4rj1h1#
此序列尝试运行
SHOW TABLES
通过mysql,忽略任何输出。如果mysql失败(因为mysqld没有运行),它会启动mysqld在后台运行。代码的第二部分只是等待mysqld启动,这由以下代码发出退出0的信号:
如果mysqld没有一次尝试,代码的第二部分将永远运行。看起来就是这样。
最简单的方法就是限制我们的睡眠时间: