編集1

編集1

次のシェルスクリプトがあります。

#!/bin/sh
echo "Configuring Xdebug"
ip=10.0.2.2
xdebug_config="/etc/php/7.2/mods-available/xdebug.ini"

echo "IP for the xdebug to connect back: ${ip}"
echo "Xdebug Configuration path: ${xdebug_config}"
echo "Port for the Xdebug to connect back: ${XDEBUG_PORT}"
echo "Optimize for ${IDE} ide"

if [ $IDE=='atom' ]; then
  echo "Configuring xdebug for ATOM ide"
  config="xdebug.remote_enable = 1
xdebug.remote_host=${ip}
xdebug.remote_port = ${XDEBUG_PORT}
xdebug.max_nesting_level = 1000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true
xdebug.remote_log=xdebug.log"
 # replace the file in $xdebug_config var except first line
fi

私が望むのは、$xdebug_config変数に記載されているファイルの最初の行を置き換えることです。とは別に最初の行。たとえば、ファイルが次のような場合:

line 1
line 2
somethig else
lalala

次のように変換したいと思います。

line 1
xdebug.remote_enable = 1
xdebug.remote_host=${ip}
xdebug.remote_port = ${XDEBUG_PORT}
xdebug.max_nesting_level = 1000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true
xdebug.remote_log=xdebug.log

どうすればいいですか?

編集1

コメントのリクエストに応じて、$xdebug_config次の可能な値を含めることができます。

 /etc/php/7.2/mods-available/xdebug.ini
 /etc/php/5.6/mods-available/xdebug.ini
 /etc/php/7.0/mods-available/xdebug.ini

通常、次の形式を使用します。

 /etc/php/^number^.^number^/mods-available/xdebug.ini

編集2

シェルスクリプトをより明確に改善しました。

ベストアンサー1

ここの文書はどうですか?

line1=$(head -1 "$1")
cat <<EORL >"$1"
${line1}
this is line2
how about this for line3?
let's do another line!
moving on to the next line
Wait!  There's more???
EORL

exit 0

おすすめ記事