Ho un piccolo comando che uso per copiare / incollare i file che coinvolge incollare l'archivio tar con codifica base64 in stdin, ma l'utilità base64 continua a darmi un messaggio di errore sul mio input perché devo digitare un'interruzione di riga prima di emettere un EOF per interrompere l'ingresso.
per esempio:
[root@box ~]echo hello | base64
aGVsbG8K
[root@box ~]base64 -d
aGVsbG8K[enter][ctrl+d]
hello
base64: invalid input
Al contrario del clunkier:
[root@box ~]echo -n 'aGVsbG8K' | base64 -d
hello
Il che non funziona davvero bene nel contesto del comando che ho scritto.
Quindi c'è un modo per inserire un EOF senza quella interruzione di riga in più? Voglio dire, questo ancora tecnicamente funziona , ma non voglio che gli errori indicati quando non v'è un errore effettivo, e io non voglio sopprimere stderr nel caso in cui non v'è un errore vero e proprio.
base64 -d <<< aGVsbG8K
Enter
primaCtrl-D
? Nel mio test ha funzionato premendoCtrl-D
due volte.