echo "text" >> 'Users/Name/Desktop/TheAccount.txt'
我如何使它在文件不存在时创建它,而在文件已经存在时覆盖它。现在这个脚本只是追加。
echo "text" >> 'Users/Name/Desktop/TheAccount.txt'
我如何使它在文件不存在时创建它,而在文件已经存在时覆盖它。现在这个脚本只是追加。
当前回答
如果你的输出可能有错误,你可能想要使用&号和大于,如下所示:
my_task &> 'Users/Name/Desktop/task_output.log'这将把stderr和stdout重定向到日志文件(而不仅仅是stdout)。
其他回答
如果你的输出可能有错误,你可能想要使用&号和大于,如下所示:
my_task &> 'Users/Name/Desktop/task_output.log'这将把stderr和stdout重定向到日志文件(而不仅仅是stdout)。
#!/bin/bash
cat <<EOF > SampleFile
Put Some text here
Put some text here
Put some text here
EOF
在Bash中,如果你设置了noclobber a la set -o noclobber,那么你使用语法>|
例如:
echo "some text" >| existing_file
如果文件还不存在,也可以这样做
查看是否设置了noclobber: set -o | grep noclobber 关于这种特殊类型的操作符的更详细的解释,请参阅这篇文章 有关重定向操作符的更详尽列表,请参阅这篇文章
只是注意,如果你想重定向stderr和stdout到一个文件,而你有noclobber设置(即set -o noclobber),你可以使用以下代码:
cmd >| file.txt 2>&1
更多信息请访问https://stackoverflow.com/a/876242。
另外,这个答案是@TuBui在18年8月9日9点34分对@BrDaHa的回答提出的问题。
尽管NylonSmile的回答“有点”正确。我无法覆盖文件,以这种方式..
“我知道Pipes的事,女朋友”>那个答案
zsh: file exists: thatAnswer . txt
解决我的问题…我不得不用…>!, á la..
[[ $FORCE_IT == 'YES' ]] && echo "$@" >! "$X" || echo "$@" > "$X"
显然,要小心这个……