[英]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.