題 在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

但我不明白如何逃避輸入中的雙引號。

使用除echo之外的東西會更好嗎?如果可能的話,我寧願不重寫整個PHP腳本(它比例子中給出的2行更長!)。


4
2017-10-27 13:38


起源




答案:


有幾種方法可以做到:

 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

有更多可能的方法 - 將此作為測試事物的起點......


10
2017-10-27 13:58





在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

2
2017-10-27 13:51