Solo per coincidenza ho dovuto usare il mio script ATA-ID-to-device-name (trovato qui: /server/244944/linux-ata-errors-translating-to-a-device-name/ 426561 # 426561 ) su una partizione di sola lettura / . Nel caso in cui tu sia curioso, era una console di ripristino di Ubuntu che ti consentirà di accedere alla tua /partizione, ma la monterà di sola lettura per impostazione predefinita. Sono contento di questo, perché altrimenti non avrei probabilmente mai scoperto che il mio script si comporta in modo strano su un sistema R / O a causa di una linea specifica, questa:
IFS=: read HostMain HostMid HostSub <<< "$HostFull"
Questo non funziona se non c'è permesso di scrittura. Non avrei pensato che avrebbe fallito, però. Ma a quanto pare l' <<<operatore non richiede di scrivere qualche file temporaneo da qualche parte.
Ma c'è un modo per aggirare la creazione di un file temporaneo o esiste un modo per specificare dove è scritto il file? Nella console di ripristino di Ubuntu, c'è --- stranamente --- permesso di scrivere sulla /rundirectory, quindi sarebbe, se potessi in qualche modo "dire" readdi scrivere il file temporaneo in un altro posto del solito.
/dev/fdnon ha nulla a che fare con questo.<<<è però il colpevole, perché crea un file temporaneo (che deve essere scritto da qualche parte).