Napisałem skrypt bash, który może modyfikować php.ini zgodnie z moimi potrzebami.
Teraz muszę wprowadzić nową zmianę i nie mogę znaleźć jasnego rozwiązania.
trzeba zmodyfikować php.ini do wkładki (jeśli nie jest już włożona wcześniej)
Jak wstawić linię do pliku między dwoma blokami znanych linii (jeśli nie zostały wcześniej wstawione), używając bash?
extension="memcache.so"
pomiędzy blokiem
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
i blokiem
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
prawdopodobnie tuż przed drugim.
Czy ktoś może mi pomóc? Dzięki z góry
edycja: rozwiązać za pomocą
if ! grep -Fxq 'extension="memcache.so"' 'php.ini'; then
line=$(cat 'php.ini' | grep -n '; Module Settings ;' | grep -o '^[0-9]*')
line=$((line - 2))
sudo sed -i ${line}'i\extension="memcache.so"' 'php.ini'
fi
Dziękuję Rozwiązałem problem z używaniem (patrz edytowane) –