Risposte:
È possibile aggiungere una riga di testo a un file utilizzando l' >>operatore:
echo "hello world" >> my_file.txt
o nel tuo caso
echo "alias list='ls -cl --group-directories-first'" >> config.fish
Si prega di prendere nota dei diversi tipi di virgolette .
-iaggiornerà il file (altrimenti stamperà semplicemente il risultato su stdout), $è regex che corrisponderà alla fine del file e aaggiunge il seguente testo al nome del file.
echo "hello world" >> my_file.txtnon crea una nuova ultima riga con HW, ma la aggiunge alla stringa dell'ultima riga.
HW@timo?
echociò che aggiunge l'interruzione di riga (rendendola una linea anziché solo un mucchio di personaggi). È possibile disattivare l'interruzione di linea alla fine con -n.
Esistono molti metodi per aggiungere file senza aprire editor di testo, in particolare tramite più utility di elaborazione testi disponibili in Ubuntu.
tee -a config.fish <<< "alias list='ls -cl --group-directories-first'"awk 'BEGIN{ printf "alias list=\x27ls -cl --group-directories-first\x27\n" >> "config.fish" }'sed -i '$a alias list='"'"'ls -cl --group-directories-first'"'" config.fishAggiungendo alla risposta di Stefano , puoi anche usare cat:
Usando un heredoc:
$ cat >> config.fish <<'EOF'
> alias list='ls -cl --group-directories-first'
> EOF
<<'EOF'significa "prendi quanto segue come input, fino a raggiungere una linea che è giusta EOF". Le virgolette significano prendere l'input letteralmente.
O inserendo la linea su stdin:
$ cat >> config.fish
Quindi incolla o digita la riga, premi Enterper passare a una nuova riga, quindi premi Ctrl + D per segnare la fine.
>il file verrà troncato, non aggiunto. per un comando più sicuro puoi usare sed:sed -i '$a hello world' filename