[英]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]);
干得好:
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.