Вы можете установить эти команды для запуска только с sudo
и создать asksudo команду, которая отправит это пользователю(ам) root
Это может быть хорошим началом (работает только для root, когда он вошел в систему):
PS: я не тестировал, может содержать ошибки
function asksudo {
# for users
write root "asksudo from $(whoami):"
write root "\"$(whoami)\" \"$(PWD)\" && $*"
}
execsudo {
# to authorize root executes this with yes/no and the last line of the message
if [ "$1" = "no" ]
then
write $2 "Your command '${*:3}' has been denied" && exit 0
exit 1 # fails to send the message
fi
[[ "$1" != "yes" ]] && echo "invalid decision" && exit 1;
cd $3 && ${*:4}
write $2 "Your command '${*:3}' has been executed"
}
Я проверил KEYWORD2, и все сработало. Вы можете добавить ключевое слово в цикле, где вы хотите изменить
for i in KEYWORD2
do
sed -n '/'$i'/,/),/p' l.txt|sed "s/array.*/&\n'enable' => true,\n'email' => false,/g"| sed '/Random/d'
done
Выход
'KEYWORD2' =>
array (
'enable' => true,
'email' => false,
),
============================================== ============== Предположим, вы хотите изменить как для ключевого слова1, так и для ключевого слова2
используйте код ниже
for i in KEYWORD1 KEYWORD2;
do
sed -n '/'$i'/,/),/p' l.txt|sed "s/array.*/&\n'enable' => true,\n'email' => false,/g"| sed '/Random/d'
done