Zbiegiem okoliczności musiałem użyć skryptu ATA-ID-na-nazwę-urządzenia (tutaj: /server/244944/linux-ata-errors-translating-to-a-device-name/ 426561 # 426561 ) na partycji tylko do odczytu/
. Jeśli jesteś ciekawy, była to konsola odzyskiwania Ubuntu, która pozwoli ci uzyskać dostęp do twojej /
partycji, ale domyślnie zainstaluje ją tylko do odczytu. Cieszę się z tego, ponieważ w przeciwnym razie prawdopodobnie nigdy nie dowiedziałbym się, że mój skrypt zachowuje się dziwnie w systemie R / O z powodu określonej linii, tej:
IFS=: read HostMain HostMid HostSub <<< "$HostFull"
To nie działa, jeśli nie ma uprawnień do zapisu. Jednak nie przypuszczałbym, że to zawiedzie. Ale najwyraźniej <<<
operator nie musi gdzieś zapisać pliku tymczasowego.
Ale czy jest jakiś sposób na obejście tworzenia pliku tymczasowego, czy też istnieje sposób na określenie, gdzie plik jest zapisywany? W konsoli odzyskiwania Ubuntu istnieje --- dziwnie --- uprawnienie do zapisu w /run
katalogu, więc tak by się stało , gdybym mógł w jakiś sposób „powiedzieć”, read
aby zapisać plik tymczasowy w innym miejscu niż zwykle.
/dev/fd
nie ma z tym nic wspólnego.<<<
jest jednak winowajcą, ponieważ tworzy plik tymczasowy (który gdzieś trzeba zapisać).