Por coincidência, tive que usar meu script ATA-ID-to-device-name (encontrado aqui: /server/244944/linux-ata-errors-translating-to-a-device-name/ 426561 # 426561 ) em uma partição somente leitura /
. Caso você esteja curioso, era um console de recuperação do Ubuntu que permitirá acessar sua /
partição, mas a montará como somente leitura por padrão. Fico feliz com isso, porque, caso contrário, provavelmente nunca teria descoberto que meu script se comporta estranhamente em um sistema de R / O devido a uma linha específica, esta:
IFS=: read HostMain HostMid HostSub <<< "$HostFull"
Isso não funciona se não houver permissão de gravação. Eu não teria assumido que iria falhar, no entanto. Mas, aparentemente, o <<<
operador não precisa para escrever um arquivo temporário para algum lugar.
Mas existe alguma maneira de burlar a criação de um arquivo temporário ou existe alguma maneira de especificar para onde o arquivo foi gravado? No console de recuperação do Ubuntu, existe --- estranhamente --- permissão de gravação no /run
diretório, o que seria suficiente , se eu pudesse, de alguma forma, "dizer" read
para gravar o arquivo temporário em outro lugar que o normal.
/dev/fd
não tem nada a ver com isso.<<<
é o culpado, porque cria um arquivo temporário (que precisa ser gravado em algum lugar).