Используя kornshell или Perl для хитрости полномочий, необходимых корню

что-то вроде:

VAR=$(sed -n '/HIJK=/s/HIJK="\([^"]*\)"/\1/p' aaa.txt)

Не печатайте строки по умолчанию (-n), но на строках, соответствующих HJIK= (/HJIK=/), замените HJIK="(что-то, не содержащее двойных кавычек)" на (что-то, не содержащее двойных кавычек): s/HIJK="\([^"]*\)"/\1/ и распечатать их - флаг p.

.
1
03.06.2014, 23:24
1 ответ

Проблема в том, что ваш sudo su ... порождает другую оболочку, и только когда вы выходите из из это делает попытку вашего сценария продолжить.

Предполагая, что ваша конфигурация sudo это позволяет, вы можете сделать это вместо этого:

sudo -iu oradba 'cd ... && chmod ... && chown ... '
sudo -iu orainst '...'

&& можно было бы заменить точкой с запятой, просто так, вы гарантируете что chmod не будет выполняться, если cd не будет успешным, и так далее.

Если ваша конфигурация sudo не позволяет этого, вы можете сделать это вместо этого:

sudo su -c 'cd ... & chmod ... && chown ... ' - oradba
sudo su -c '...' - orainst
2
27.01.2020, 23:38

Теги

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