我一直在尝试创建一个临时命名的 fifo 并在引用Bash: create anonymous fifo我看到他们正在使用mktemp -u来获取 fifo 的文件名。手册页指出这是不安全的。
-u, --dry-run
do not create anything; merely print a name (unsafe)
Run Code Online (Sandbox Code Playgroud)
为什么这是不安全的,我如何负责任地使用这种技术?
小智 7
他们上面所说的“不安全”的含义如下。假设你有这个场景:
mktemp -u/tmp/tmp.njxOsokU9utmp)echo hello > $tmp)没有错,是吗?这是一个类似的场景:
mktemp -u/tmp/tmp.njxOsokU9utmp)/tmp/tmp.njxOsokU9u)echo hello > $tmp)现在您的脚本和其他进程可能正在写入同一个文件,这可能不会很好地结束。这就是它被标记为不安全的原因。
| 归档时间: |
|
| 查看次数: |
1860 次 |
| 最近记录: |