我知道在return
语句中可能有if [ ]
。但是,返回(我认为)必须是一个整数,我需要返回一个字符串。例如:
#Function returns a date value formatted %Y-%m-%d
function chartStartsAt () {
CHART_START=`jq 'map(.closedDate | values) | min' < output/json/FullIssueList.json`;
CHART_START="${CHART_START//\"}"
#Check if the date is null, if so return todays date -1
if [ -z CHART_START ]
then
echo "date -v-1d +%Y-%m-%d";
else
echo "${CHART_START%T*}";
fi
}
答案 0 :(得分:1)
实际上,这确实有效。我错过了几件事。我在下面列出了它们。
"null"
,因此if语句应该检查字符串而不是实际的空值我的第一个回音不正确,应该是echo $(date -v-1d +%Y-%m-%d);
function chartStartsAt () {
CHART_START=`jq 'map(.closedDate | values) | min' < output/json/FullIssueList.json`;
#echo "${CHART_START}";
CHART_START="${CHART_START//\"}"
#echo "${CHART_START}";
if [ "$CHART_START" == "null" ]
then
echo $(date -v-1d +%Y-%m-%d);
else
echo "${CHART_START%T*}";
fi
}