繁体   English   中英

带有PHP代码的Bash脚本

[英]Bash Script with PHP code

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

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

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

并在bash脚本中调用此脚本

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

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

尝试:

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

您可以使用PHP来执行此操作,而不必创建myurldecodescript.php文件。 如果为PHP提供-r选项,它将运行在命令行中指定的代码。 因此,您可以执行以下操作:

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

尝试

$MYURL="php myurldecodescript.php $MYURL"

不确定--是否可以工作(我不是bash专家!)....在PHP中可以

echo urldecode($argv[1]);

$argv是一个数组

干得好:

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

怎么样

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM