Tôi đã viết một tập lệnh bash có thể sửa đổi php.ini theo nhu cầu của tôi.
Bây giờ tôi phải giới thiệu một thay đổi mới, và tôi không thể tìm ra giải pháp rõ ràng cho nó.
Tôi cần phải sửa đổi php.ini để chèn (nếu chưa được chèn trước đó)
Làm thế nào để chèn một dòng trong một tệp giữa hai khối các dòng đã biết (nếu chưa được chèn trước đó), sử dụng bash?
extension="memcache.so"
giữa khối
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
và khối
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
có thể ngay trước thẻ thứ hai.
Có ai giúp tôi không? Cảm ơn trước
EDITED: giải quyết bằng cách sử dụng
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
Cảm ơn bạn đã giải quyết bằng cách sử dụng (xem đã chỉnh sửa) –