如何在函数内写入终端以进行日志记录,而不将其作为函数返回值的一部分?
这是我的示例脚本:
#!/bin/bash
my_fun() {
echo "this is for logging purposes"
retVal="Return only this"
echo "$retVal"
}
returnedValue=$(my_fun)
if [ "Return only this" = "$returnedValue" ]; then
echo "Good return"
else
echo "Bad return"
fi
它输出Bad return
但不打印到终端this is for logging purposes
。如何只返回Return only this
而不返回this is for logging purposes
(因为我希望它去终端)?
答案1
您可以将输出重定向到标准错误:
echo "this is for logging purposes" >&2
除非标准错误被重定向到其他地方,否则它将转到终端。