作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在脚本或函数中将输出定向到日志文件,并根据变量决定是追加还是覆盖
应该是这样的(这显然行不通..)
if [ "$append" = "true" ] ; then direction=">>" ; else direction=">" ; fi
echo $message "$direction" $targetFile
而不是使用带有“if”语句的 2 个分隔命令的简单答案
稍后编辑,这里有一个假定的重复问题:Conditional redirection appending / overwriting , 然而,我更喜欢 Ivan 在这里的回答,而不是其他帖子中的回答
最佳答案
解决方案1:以所需模式打开专用文件描述符
if [ "$append" = "true" ] ; then
exec 3>>"$targetFile"
else
exec 3>"$targetFile"
fi
# Output to targetFile using the pre configured mode
echo "$message" >&3
解决方案2:始终附加但有条件地删除覆盖文件内容:
if [ ! "$append" = "true" ] ; then
# Reset target file
> "$targetFile" # same effect as overwrite
fi
echo "$message" >> "$targetFile"
缩写形式:
[ "$append" = "true" ] || > "$targetFile"
echo "$message" >> "$targetFile"
关于bash,如何选择是否通过变量附加重定向(根据 $append 使用 > 或 >>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59856872/
我在 MySQL 全文 搜索中遇到区分大小写的问题。 我刚刚按照 MySQL doco http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.
我是一名优秀的程序员,十分优秀!