Ответы:
Вы можете добавить строку текста в файл, используя >>оператор:
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:
Используя heredoc:
$ cat >> config.fish <<'EOF'
> alias list='ls -cl --group-directories-first'
> EOF
<<'EOF'означает «принять следующее как ввод, пока не достигнете строки, которая является просто EOF». Кавычки означают буквальное восприятие ввода.
Или ввод строки на стандартный ввод:
$ cat >> config.fish
Затем вставьте или введите строку, нажмите, Enterчтобы перейти к новой строке, затем нажмите Ctrl + D, чтобы отметить конец.
>файл будет обрезан, а не добавлен. для более безопасной команды вы можете использовать sed:sed -i '$a hello world' filename