Задача: добавить изменения в файл без применения консольного редактора и с использование повышения прав через утилиту sudo:
При добавлении строки в файл с сетевыми интерфейсами (файл можете использовать любой) в системе под управлением Ubuntu 10.10:
keiz@vkeiz:~$ sudo cat >>/etc/network/interfaces <<‘EOF’
> privet
> EOF
bash: /etc/network/interfaces: Permission denied
Данные не внеслись:
keiz@vkeiz:~$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
Нужно сделать, заключить добавление строк в одинарные кавычки:
keiz@vkeiz:~$ sudo bash -c ‘cat >>/etc/network/interfaces’ <<‘EOF’
> privet
> privet
> EOF — выходим из режима добавления, вводом «EOF”
Смотрим, внеслись ли данные:
keiz@vkeiz:~$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
privet
privet
видите добавленные строки, дело в заключение команды в одинарные кавычки. Всё работает.!!!