簡體   English   中英

無法將變量從php傳遞到bash

[英]Having trouble passing variable from php to bash

我正在嘗試建立一個HTML表單,該表單將變量傳遞給php腳本,然后將其傳遞給bash腳本。

我能夠成功地將變量從html表單傳遞給php腳本,並且能夠將以下傳遞變量傳遞給我的bash腳本:

<?php
shell_exec('./bashscript.sh testarg1 testarg2 testarg3 testarg4');
?>

但是,當我使用以下命令時:

<?php
  shell_exec('./bashscript.sh $_POST[arg1] $_POST[arg2] $_POST[arg3] $_POST[arg4]');
?>

我最終得到:

[arg1]
[arg2]
[arg3]
[arg4]

這是我第一次嘗試從php傳遞到bash。 方括號中的參數發布到沒有問題的數據庫中。 我將如何更改它以成功將參數傳遞給我的bash腳本? 謝謝。

變量在雙引號字符串內擴展,而不在單引號字符串內擴展。

shell_exec("./bashscript.sh $_POST[arg1] $_POST[arg2] $_POST[arg3] $_POST[arg4]");

這是基本的PHP語法,與使用Shell無關。

如果它包含外殼元字符,則還應該在使用它之前使用escape_shell_arg進行轉義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM