首页 > 解决方案 > 为什么在 shell 中使用“echo”时我的部分字符串会消失?

问题描述

我试图通过 Linux 命令行使用 echo 在文件中写入一些内容:

echo -e "<?php\nprint_r($_GET[\"name\"]);"     > print.php

但我明白了:

<?php
print_r(["name"]);

是什么让$_GET消失?

标签: linuxshellcommand-lineecho

解决方案


在 bash 中,美元符号表示一个变量,即使在字符串内部也是如此。要让它打印$_GET,你必须$用反斜杠转义:

echo -e "<?php\nprint_r(\$_GET[\"name\"]);"     > print.php

推荐阅读