#!/bin/bash
START_SLEEP_TIME=2
LOOP_SLEEP_TIME=2
OK="false"
#need to wait for another proc first
sleep $START_SLEEP_TIME
RET=
check () {
echo "---1--"
echo "---2--"
return 1
}
# isn't even called but just making sure it's not a syntax issue
finalize () {
OK="true"
}
for i in {0..100}
do
echo "check"
VAL=check
sleep $LOOP_SLEEP_TIME
done
echo "Checks terminated. $OK"
脚本应该做更多的事情,但我试图剥离它的基本,看看为什么它不能工作。
上面对我来说总是打印
check
check
check
在休眠后,但它从不打印--1--
或--2--
。这个函数应该做更多的事情,但如果我不能让它工作,那就没有意义了。
VAL=check
赋值check
给VAL
如果您想调用函数check
并将该函数的输出赋值给VAL
,则设置为:
VAL=$(check)
如果您想要函数的退出值,则改为:
check
VAL=$?
只需调用您的check
函数,即写入命令。返回值在$?
中