簡體   English   中英

運行bash腳本以響應HTTP POST

[英]Run bash script in response to HTTP POST

我一直在使用以下PHP腳本來觸發服務器上的bash腳本:

<?php
$output = shell_exec('cat update.sh | ssh -l some_user -i key foo.bar.com');
echo "<pre>$output</pre>";
?>

由於無法控制的問題,我們更改了服務器,並且無法運行PHP(不要問)。 我在這里可以使用另一種語言來完成此任務嗎? 很明顯,我可以通過HTTP POST進行定位。 謝謝。

您可以使用老式的cgi-bin並直接運行bash腳本:

#!/bin/bash
x=`cat update.sh | ssh -l some_user -i key foo.bar.com`
echo <<EOL
Content-type: text/html

<pre>$x</pre>
EOL

您可以直接使用cgi運行bash腳本。

#!/bin/bash

OUTPUT=`cat update.sh | ssh -l some_user -i key foo.bar.com`

# You must add following two lines before
# outputting data to the web browser from shell
# script
echo "Content-type: text/html"
echo ""

echo "<html><head><title>Demo</title></head><body>"
echo "$OUTPUT <br>"
echo "</body></html>"

這里的一些代碼

這取決於服務器配置。 任務非常簡單,因此您可以使用提供商提供的每種(我猜)技術來完成;)

如果您有權訪問perl:

#!/usr/bin/env perl

++$|;
print '<pre>';
system ('your command 2>&1');
print '</pre>';

Python和許多其他相似。

暫無
暫無

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

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