簡體   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