使用PHP代码的Bash脚本

时间:2012-04-17 15:38:23

标签: php bash urldecode

我有一个bash脚本,它有一个urlencoded字符串作为变量,我想要解码。我知道这可以用bash完成,但我想我也可以调用一个PHP函数urldecode()并完成它。

我宁愿在bash代码中运行php函数,但我选择编写一个非常简单的脚本

<?php
   echo urldecode($argv);
?>

并在bash脚本中调用此脚本

#!/bin/bash
...#$MYURL is an encoded url
...
$MYURL="php myurldecodescript.php -- $MYURL"

不幸的是,这不起作用。 这样做最好怎么办?

5 个答案:

答案 0 :(得分:2)

尝试:

MYURL=$(php myurldecodescript.php -- "$MYURL")

答案 1 :(得分:2)

您可以使用PHP执行此操作,而无需创建myurldecodescript.php文件。如果为PHP提供-r选项,它将运行您在命令行中指定的代码。所以你可以这样做:

MYURL=`php -r "echo urldecode('$MYURL');"`

答案 2 :(得分:1)

$MYURL="php myurldecodescript.php $MYURL"

不确定--是否可行(我不是bash专家!!)....并且在PHP中

echo urldecode($argv[1]);

$argv is an array

答案 3 :(得分:1)

你走了:

echo $MYURL | sed -e's/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g' | xargs echo -e

答案 4 :(得分:0)

怎么样

MYURL=$(php -r 'echo urldecode($argv[1]);' "$MYURL")