【发布时间】:2018-11-25 01:11:54
【问题描述】:
我正在使用
在我的 Bash 脚本中打开其他文件描述符Reproducer="reproducer.sh"
exec 3<> $Reproducer
然后可以将其与例如echo
echo "#! /bin/bash" >&3
echo "echo This is a reproducer script." >&3
来源: How do file descriptors work?
我在多次尝试后注意到,打开的文件会覆盖文件中的现有内容。如果新内容较大,则会扩展文件,但如果新内容的字节数较少,则旧内容将保留在文件末尾。
这会在我的情况下创建一个损坏的脚本,因为我正在编写一个 Bash 脚本。
exec 3<> file 语句是否有一个选项可以在打开文件时截断文件?
替代解决方案:
- 在使用
rm $Reproducer打开之前删除文件。
【问题讨论】: