Відповіді:
Ви можете додати рядок тексту до файлу за допомогою >>оператора:
echo "hello world" >> my_file.txt
або у вашому випадку
echo "alias list='ls -cl --group-directories-first'" >> config.fish
Зверніть увагу на різні типи цитат .
-iоновить файл (інакше він просто надрукує результат до stdout), $буде регулярний вираз, який відповідатиме кінці файлу, та aдодає наступний текст до імені файлу.
echo "hello world" >> my_file.txtне створює новий останній рядок з HW, але додає його до рядка останнього рядка.
HW@timo?
echoдодає розрив рядка (що робить його рядком, а не простою буквою символів). Ви можете вимкнути розрив лінії в кінці за допомогою -n.
Існує маса методів додавання до файлу без відкриття текстових редакторів, особливо через кілька доступних утилітів для обробки тексту в 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.fishДодавши відповідь Стефано , ви також можете використовувати cat:
Використання гередока:
$ cat >> config.fish <<'EOF'
> alias list='ls -cl --group-directories-first'
> EOF
<<'EOF'означає "прийміть наступне як вхід, поки ви не досягнете справедливої лінії EOF". Котирування означають сприймати вклад буквально.
Або введення рядка на stdin:
$ cat >> config.fish
Потім вставте або введіть рядок, натисніть, Enterщоб перейти до нового рядка, а потім натисніть Ctrl + D, щоб позначити кінець.
>тоді файл буде усічений, а не доданий. для більш безпечної команди ви можете використовувати sed:sed -i '$a hello world' filename