Zufällig musste ich mein Skript ATA-ID-zu-Gerätename verwenden (hier zu finden: /server/244944/linux-ata-errors-translating-to-a-device-name/) 426561 # 426561 ) auf einer schreibgeschützten /
Partition. Falls Sie neugierig sind, handelt es sich um eine Ubuntu-Wiederherstellungskonsole, mit der Sie auf Ihre /
Partition zugreifen können, die jedoch standardmäßig schreibgeschützt bereitgestellt wird. Ich freue mich darüber, denn sonst hätte ich wahrscheinlich nie herausgefunden, dass sich mein Skript aufgrund einer bestimmten Zeile auf einem R / O-System seltsam verhält:
IFS=: read HostMain HostMid HostSub <<< "$HostFull"
Dies funktioniert nicht , wenn keine Schreibberechtigung vorliegt. Ich hätte allerdings nicht angenommen, dass es scheitern würde. Aber anscheinend der <<<
Bediener nicht erfordert eine temporäre Datei irgendwo zu schreiben.
Aber gibt es eine Möglichkeit, die Erstellung einer temporären Datei zu umgehen, oder gibt es eine Möglichkeit, anzugeben, wohin die Datei geschrieben wird? In der Ubuntu-Wiederherstellungskonsole gibt es - seltsamerweise - Schreibberechtigungen für das /run
Verzeichnis, so dass dies ausreichen würde, wenn ich irgendwie "sagen" könnte read
, dass die temporäre Datei an einen anderen Ort als gewöhnlich geschrieben werden soll.
/dev/fd
hat nichts damit zu tun.<<<
ist jedoch der Schuldige, weil es eine temporäre Datei erstellt (die irgendwo geschrieben werden muss).