Я посмотрел на возвращаемые значения функции bash и, похоже, до сих пор не понимаю, как это работает.Я установил 3 функции, каждая из которых якобы возвращает возвращаемое значение RET_VAL.Я предполагаю, что func_1 возвращает либо 1, либо 0 на основе оператора if. Я предполагаю, что func_2 возвращает либо 1, либо 0 на основе оператора if.
func_1() {
RET_VAL=0
if [ -d /tmp/dir ]; then
echo "Dir exists"
RET_VAL=0
else
echo "Dir doesn't exist"
RET_VAL=1
fi
return ${RET_VAL}
}
func_2() {
RET_VAL=0
if func_1; then
if [ -f /tmp/file_1]; then
echo "File exists"
else
echo "File doesn't exist"
RET_VAL=1
fi
else
RET_VAL=1
fi
return ${RET_VAL}
}
func_3() {
if func_2; then
echo "Dir and File do exist"
else
echo "Dir and file do not exist"
fi
}
Верны ли мои предположения или каждая функция возвращает то, что она выполнила в последний раз, например, оператор echo?Если да, как я могу убедиться, что функции возвращают значение 1 или 0?
Cheers, Roland