【问题标题】:Echo PHP into file linux [duplicate]将PHP回显到文件linux中[重复]
【发布时间】:2018-08-10 14:43:17
【问题描述】:

我正在尝试以编程方式创建一个 PHP 文件:

<?php
if (!empty($_GET['code'])
{
  // Do 1
}
else
{
  // Do else
}
?>

我有这个:

sudo echo '<?php
if (!empty($_GET['code']))
{
}
else
{
}
?>' | sudo tee -a /var/www/html/index.php

但这会从code 周围去除单引号...我尝试了各种方法,例如双引号和转义单引号。

我相信这很简单!帮助! :)

【问题讨论】:

  • 你试过用双引号括住code 并用单引号括起来吗?
  • 做到了。 :) 谢谢!
  • @Adder 这绝对是一种解决方法。认为这种方法在应用于其他(更复杂的)场景时通常很麻烦。请参阅我对shellcheck(这是一个非常好的shell linter)推荐如何做的回答。
  • sudo echo 很傻。绝对不需要获取 root 权限来写入标准输出。

标签: php linux bash tee


【解决方案1】:

这就是在 bash 和几乎任何 shell 中应该如何转义单引号:

echo '<?php
if (!empty($_GET['\'code\'']))
{
} else {
}
?>' | tee /var/www/html/index.php

另请参阅:https://github.com/koalaman/shellcheck/wiki/SC1003

【讨论】: