Solo por coincidencia tuve que usar mi script ATA-ID-to-device-name (que se encuentra aquí: /server/244944/linux-ata-errors-translating-to-a-device-name/ 426561 # 426561 ) en una partición de solo lectura /
. En caso de que tenga curiosidad, era una consola de recuperación de Ubuntu que le permitirá acceder a su /
partición, pero la montará de solo lectura de forma predeterminada. Me alegro de eso, porque de lo contrario, probablemente nunca habría descubierto que mi script se comporta de manera extraña en un sistema R / O debido a una línea específica, esta:
IFS=: read HostMain HostMid HostSub <<< "$HostFull"
Esto no funciona si no hay permiso de escritura. Sin embargo, no habría asumido que fallaría. Pero al parecer, el <<<
operador no necesita escribir algún archivo temporal a alguna parte.
Pero, ¿hay alguna forma de eludir la creación de un archivo temporal o hay alguna forma de especificar dónde se escribe el archivo? En la consola de recuperación de Ubuntu, hay --- curiosamente --- permiso de escritura en el /run
directorio, por lo que sería suficiente si pudiera de alguna manera "decirle" read
que escriba el archivo temporal en otro lugar de lo habitual.
/dev/fd
no tiene nada que ver con esto.<<<
Sin embargo, es el culpable, porque crea un archivo temporal (que debe escribirse en alguna parte).