it-swarm-ja.com

複数行のテキストをbashのファイルにエコーしますか?

書き方:

$count = mysql_num_rows($result);
print "<h3>$count metal prices available</h3>";

ファイル、index.phpに?

私はもう試した:

echo "$count = mysql_num_rows($result);
print "<h3>$count metal prices available</h3>";" > index.php

しかし、入力にある二重引用符をエスケープする方法がわかりません。

エコー以外のものを使用する方が良いでしょうか?可能であれば、PHPスクリプト全体を書き直したくありません(例に示されている2行よりも長いです!)。

5
Richard

これを行うにはいくつかの方法があります。

 cat >index.php <<'EOT'
 $count = mysql_num_rows($result);
 print "<h3>$count metal prices available</h3>";
 EOT

または

 echo '$count = mysql_num_rows($result);
 print "<h3>$count metal prices available</h3>";' > index.php

または

 echo '$count = mysql_num_rows($result);' >index.php  # overwrites file if it already exists
 echo 'print "<h3>$count metal prices available</h3>";' >>index.php  # appends to file

考えられる方法は他にもたくさんあります。これをテストの開始点として使用してください...

13
ktf

Bashでは、外側の引用符を一重引用符に置き換えるだけです。

echo '$count = mysql_num_rows($result);                                                                  
print "<h3>$count metal prices available</h3>";' > index.php

より複雑なことを行う必要がある場合は、上書きする代わりに追加する「>>」を使用して、複数回エコーすることができます。

echo '$count = mysql_num_rows($result);' >> index.php
echo 'print "<h3>$count metal prices available</h3>";' >> index.php
3
Jon Lin