我正在编写一些bash脚本,我遇到了以下问题。让我们说:
function echo_ignore_print()
{
echo "ignoring this print" # print this line for the user without storing its value
value=187fef
echo "$value" # return this value
}
info_to_keep=$(echo_ignore_print)
echo "$info_to_keep" # ignoring this print 187fef
我需要能够在脚本到达该行时立即打印“忽略此打印”,但我还需要自己返回变量“$ value”的值,以便稍后使用它。我宁愿没有全局变量。
因此,是否有一种方法可以转储所有echo命令的字符串并保存一些以供日后使用?或任何其他方式来做到这一点?
感谢您的帮助。
答案 0 :(得分:1)
您可以在stderr
而不是stdout
上写下要被忽略的内容:
echo_ignore_print() {
echo "ignoring this print" >&2
value='187fef'
echo "$value"
}
info_to_keep=$(echo_ignore_print)
ignoring this print
echo "$info_to_keep"
187fef