我有以下脚本来替换PHP INI配置文件中指定的键值对:
iniConfigs='memory_limit=3G
short_open_tag=On
post_max_size=512M
max_input_time=3600
max_execution_time=21600
upload_max_filesize=128M
extension_dir="C:\\PHPs\\PHP7032\\ext"'
while IFS= read -r line
do
key=$(awk -F\= '{print $1}' <<< $line)
sed -i "s/^\($key\).*/\1 ${line}/" php.ini
done <<< "$iniConfigs"
现在问题来了
sed
key
并按预期用相应的行替换它,结果如下所示php.ini:
short_open_tag short_open_tag=On
...
max_execution_time max_execution_time=21600
而不是,
short_open_tag=On
...
max_execution_time=21600
为什么?
没有完全按照预期替换字符串?