php頁面傳參給shell指令碼

2022-09-13 19:45:11 字數 666 閱讀 9328

**如下:

<?php

if(isset($_post['mac'])&&$_post['mac']!=''){

$mac=$_post['mac'];

$output = shell_exec("macsearch $mac");

echo "$output";

分析如下:

1.通過表單傳入乙個引數「mac」        

2.通過php傳入引數並且執行shell指令碼     

<?php

if(isset($_post['mac'])&&$_post['mac']!=''){

$mac=$_post['mac'];

$output = shell_exec("macsearch $mac");

echo "$output";

補充:今天遇到乙個問題,通過php頁面執行這個指令碼的時候無效,macsearch指令碼中的wget命令未執行(macsearch指令碼在博文《字串按位數分隔》中有)

1.切換到乙個普通使用者執行macsearch發現也不執行wget命令

2.檢查目錄許可權,發現/srv/macsearch/record許可權為755,普通使用者無寫入許可權,所以執行:

chmod -r 777 /srv/macsearch/record

3.問題解決

shell指令碼傳參

喜歡用第二種方法 shell傳函式方法 法一 使用全域性變數 html view plain copy g result function testfunc testfunc echo g result 方法二 把shell函式作為子程式呼叫,將其結果寫到子程式的標準輸出 html view pla...

Shell 向shell指令碼傳參

我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n 代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 傳遞到指令碼的引數個數 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0 為執行的檔名 test.sh echo she...

shell指令碼呼叫傳參

start.sh export testname jc test.sh build assetbundles true test.sh build assetbundles 1 build dev 2 echo echo 結果build assetbundles true 其他 echo 列印所有傳...