Respuestas:
Puede agregar una línea de texto a un archivo utilizando el >>operador:
echo "hello world" >> my_file.txt
o en tu caso
echo "alias list='ls -cl --group-directories-first'" >> config.fish
Tenga en cuenta los diferentes tipos de citas .
-iactualizará el archivo (de lo contrario, solo imprimirá el resultado en stdout), $es una expresión regular que coincidirá con el final del archivo y aagrega el siguiente texto al nombre del archivo.
echo "hello world" >> my_file.txtno crea una nueva última línea con HW, pero la agrega a la cadena de la última línea.
HW@timo?
echoque agrega el salto de línea (haciéndolo una línea en lugar de solo un montón de caracteres). Puede desactivar el salto de línea al final con -n.
Hay muchos métodos para agregar archivos sin abrir editores de texto, particularmente a través de múltiples utilidades de procesamiento de texto disponibles en 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.fishAgregando a la respuesta de Stefano , también puedes usar cat:
Usando un heredoc:
$ cat >> config.fish <<'EOF'
> alias list='ls -cl --group-directories-first'
> EOF
<<'EOF'significa "tome lo siguiente como entrada, hasta llegar a una línea que sea justa EOF". Las citas significan tomar la entrada literalmente.
O ingresando la línea en stdin:
$ cat >> config.fish
Luego pegue o escriba la línea, presione Enterpara ir a una nueva línea, luego presione Ctrl + D para marcar el final.
>, el archivo se truncará, no se agregará. para un comando más seguro puede usar sed:sed -i '$a hello world' filename