在 Bash 中出现错误时将文本转换为数字
convert text to number in case of an error in Bash
我是运行这个命令里面一般returns一个数字。在出现错误的情况下,这会解析为稍后可能导致错误的文本。我该如何防止这种情况?
folder_get_time=$((time /opt/alluxio/bin/alluxio fs copyToLocal "$SRC" "$COPY_TO_LOCAL" )2>&1 >/dev/null )
如果您不能可靠地捕获错误
if folder_get_time=$((time /opt/alluxio/bin/alluxio fs copyToLocal "$SRC" "$COPY_TO_LOCAL" )2>&1 >/dev/null )
then
echo "success" >&2
else
rc=$?
echo "fail" >&2
exit $rc
fi
也许检查 non-numeric 输出。
case $folder_get_time in
'' | *[!0-9]*) echo "fail" >&2; exit 127 ;;
esac
我是运行这个命令里面一般returns一个数字。在出现错误的情况下,这会解析为稍后可能导致错误的文本。我该如何防止这种情况?
folder_get_time=$((time /opt/alluxio/bin/alluxio fs copyToLocal "$SRC" "$COPY_TO_LOCAL" )2>&1 >/dev/null )
如果您不能可靠地捕获错误
if folder_get_time=$((time /opt/alluxio/bin/alluxio fs copyToLocal "$SRC" "$COPY_TO_LOCAL" )2>&1 >/dev/null )
then
echo "success" >&2
else
rc=$?
echo "fail" >&2
exit $rc
fi
也许检查 non-numeric 输出。
case $folder_get_time in
'' | *[!0-9]*) echo "fail" >&2; exit 127 ;;
esac