Par pure coïncidence, j'ai dû utiliser mon script ATA-ID-to-device-name (trouvé ici: /server/244944/linux-ata-errors-translating-to-a-device-name/ 426561 # 426561 ) sur une partition en lecture seule /
. Au cas où vous seriez curieux, c'était une console de récupération Ubuntu qui vous permettra d'accéder à votre /
partition, mais la montera en lecture seule par défaut. Je m'en réjouis, car sinon je n'aurais probablement jamais découvert que mon script se comportait étrangement sur un système R / O en raison d'une ligne spécifique, celle-ci:
IFS=: read HostMain HostMid HostSub <<< "$HostFull"
Cela ne fonctionne pas s'il n'y a aucune autorisation d'écriture. Je n'aurais pas pensé que cela échouerait cependant. Mais apparemment , l' <<<
opérateur ne nécessite d'écrire du fichier temporaire à quelque part.
Mais existe-t-il un moyen de contourner la création d'un fichier temporaire ou existe-t-il un moyen de spécifier où le fichier est écrit? Dans la console de récupération d'Ubuntu, il y a --- assez bizarrement --- la permission d'écrire sur le /run
répertoire, ce qui ferait l'affaire, si je pouvais en quelque sorte "dire" read
d'écrire le fichier temporaire ailleurs que d'habitude.
/dev/fd
n'a rien à voir avec cela.<<<
est le coupable, car il crée un fichier temporaire (qui doit être écrit quelque part).