Добавить в защищенный файл без создания новой строки - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь создать bash-скрипт, который, помимо прочего, добавляет строку «fastboot noswap ro» в конец /boot/cmdline.txt.

Сначала я пытался sudo echo " fastboot noswap ro" >> /boot/cmdline.txt но получение разрешения было отклонено.

Я узнал, что для защищенных файлов лучший способ сделать это - echo ' fastboot noswap ro' | sudo tee -a /boot/cmdline.txt.

Это работает, но заставляет его начинать с новой строки. Я не могу найти на странице справки тройника ничего о добавлении без вставки новой строки.

Как добавить этот защищенный файл без создания новой строки?

Ответы [ 2 ]

2 голосов
/ 18 октября 2019

Вы не можете. Новая строка уже есть, вы не можете удалить вещи, добавив.

Вместо этого вам придется заменить содержимое файла измененной строкой.

Самый простой способ сделать этоскорее всего будет sed:

sudo sed -i -e 's/$/ fastboot noswap ro/' /boot/cmdline.txt

или paste:

paste /boot/cmdline.txt <(echo fastboot noswap ro) | sudo tee /boot/cmdline.txt
0 голосов
/ 18 октября 2019

попробуйте это:

echo -n ' fastboot noswap ro' | sudo tee -a /boot/cmdline.txt

человек эхо говорит

    Options:
      -n    do not append a newline
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...