碰巧的是,我不得不使用我的ATA-ID-to-device-name脚本(在这里找到:https : //serverfault.com/questions/244944/linux-ata-errors-translating-to-a-device-name/ 426561#426561)在只读 /
分区上。如果您感到好奇,它是一个Ubuntu恢复控制台,可让您访问/
分区,但默认情况下会将其挂载为只读。我对此感到高兴,因为否则我可能永远都不会发现我的脚本由于以下特定行而在R / O系统上的行为异常:
IFS=: read HostMain HostMid HostSub <<< "$HostFull"
这并不会在没有写权限的工作。我不会以为它会失败。但是显然,<<<
操作员确实需要将一些临时文件写入某个位置。
但是,有什么方法可以避免创建临时文件,或者有什么方法可以指定将文件写入的位置?在Ubuntu恢复控制台中,对/run
目录有-非常好-的写权限,如果我能以某种方式“说” read
将临时文件写到比平常其他地方的位置,则可以这样做。
/dev/fd
与此无关。<<<
不过是罪魁祸首,因为它会创建一个临时文件(需要将其写入某处)。