void passthru (строка $ command [, int & $ return_var]) http://php.net/manual/en/function.passthru.php
Как вы можете видеть, passthru возвращает void, поэтому в вашей строке
$output = passthru("/usr/local/bin/createkeys.sh $awsid");
переменная $ outputникогда не будет вашего выхода.Вам нужно изменить его на что-то вроде:
$output="";
passthru("/usr/local/bin/createkeys.sh $awsid", $output);
Добавить неверный параметр команды, потому что вы даете createkeys.sh, строку "$ awsid" в качестве параметра, а не значениепеременной $ awsid.То же самое для
<code> echo "<pre>$output
";
вы повторяете строку. Попробуйте изменить ваш скрипт на что-то вроде:
<code>$awsid = $_POST["aws_id"];
$output = "";
passthru("/usr/local/bin/createkeys.sh ".$awsid, $output);
echo "<pre>".$output."
";