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