Отредактировать файл в / и т.д. с помощью сценариев оболочки?

Что-то определенно с Вашей установкой CentOS и этого VM. Я подозревал бы, что опции, которые Вы выбрали для типа аппаратных средств, которые Вы хотите, чтобы VMware эмулировал, являются корнем Вашей проблемы.

Другая вещь, которую я проверил бы, состоит в том, что Ваш VM имеет вполне достаточное свободное пространство на диске. Можно дать эту команду когда в VM для определения использования диска.

Пример

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      429G  358G   49G  89% /
/dev/sda1              99M   33M   61M  36% /boot
tmpfs                 5.9G     0  5.9G   0% /dev/shm
2
08.10.2014, 21:58
4 ответа

Вы можете использовать адрес /regexp/, чтобы найти строку, содержащую [DEFAULT], а затем добавить (a) команду для добавления строк под ней. Передайте -i на sed, чтобы он изменил файл на месте (возможно, сначала вы захотите запустить его без него, чтобы убедиться, что он делает все правильно; он выведет, как будет выглядеть измененный файл, не меняя его на самом деле):

# sed -i '/^\[DEFAULT\]$/a rabbit_host =controller\nrabbit_password =RABBIT_PASS' /etc/heat/heat.conf
4
27.01.2020, 21:54

если у Вас есть файл /tmp/a с коннетом

hello my friend

Вы можете использовать sed для замены строк:

sed -i 's/hello/hi/g' /tmp/a

это приведет к:

hi my friend

смотрите: man sed

Также вы можете добавить строки без sed в файл, используя >>:

echo "I like you">>/tmp/a
2
27.01.2020, 21:54

Я уверен, что автор запроса уже нашел решение, но на всякий случай.

Этот запрос идеально подходит для приложения crudini он доступен для всех основных сборок Linux. например, следующее добавит строку в раздел DEFAULTраздела/etc/heat/heat.conf

crudini --set /etc/heat/heat.conf DEFAULT mysetting true

Секция:

[DEFAULT]
rabbit_host =controller
rabbit_password =RABBIT_PASS
mysetting = true

будет обновляться, если запись уже находится в файле конфигурации.

0
27.01.2020, 21:54

Старая школа edподход

ed -s test <<EOF
/^\[DEFAULT\]$/
a
rabbit_host =controller
rabbit_password =RABBIT_PASS
.
w
q
EOF
0
27.01.2020, 21:54

Теги

Похожие вопросы