如何创建环境变量以在 .sh Laravel PHP 中使用
how to create environment variables to use in a .sh Laravel PHP
我正在尝试创建用于我的脚本的变量
$process = new Process(['export USER_NAME='.$user->email]);
$process->run();
$process = new Process(['../example.sh']);
$process->run();
但是当我把它放在我的 .sh 中时
echo hola $USER_NAME bebe
这是return
"hola bebe\n"
最后,我在不使用环境变量的情况下将所有内容连接成一个字符串。所以我没有找到另一种在命令行中使用变量的方法。
use phpseclib\Net\SSH2;
class NexmoController extends Controller
{
public function getJwt(User $id){
$command = 'curl -X "POST" "https://api.nexmo.com/beta/users" \
-H "Authorization: Bearer "'.$JWT.' \
-H "Content-Type: application/json" \
-d $\'{ "name": "'.$user->email.'", "display_name": "'.$user->name.'"}\'';
$ssh = new SSH2('shhServerExample.org');
if (!$ssh->login('sshUser', 'shhPassword'))
{
$process= 'Login Failed';
}
else
{
$JWT = $ssh->exec($JWT);
echo $JWT;
$process= $ssh->exec($command);
}
return response()->json($process, 200, [], JSON_UNESCAPED_UNICODE);
}
}
谢谢!
我正在尝试创建用于我的脚本的变量
$process = new Process(['export USER_NAME='.$user->email]);
$process->run();
$process = new Process(['../example.sh']);
$process->run();
但是当我把它放在我的 .sh 中时
echo hola $USER_NAME bebe
这是return
"hola bebe\n"
最后,我在不使用环境变量的情况下将所有内容连接成一个字符串。所以我没有找到另一种在命令行中使用变量的方法。
use phpseclib\Net\SSH2;
class NexmoController extends Controller
{
public function getJwt(User $id){
$command = 'curl -X "POST" "https://api.nexmo.com/beta/users" \
-H "Authorization: Bearer "'.$JWT.' \
-H "Content-Type: application/json" \
-d $\'{ "name": "'.$user->email.'", "display_name": "'.$user->name.'"}\'';
$ssh = new SSH2('shhServerExample.org');
if (!$ssh->login('sshUser', 'shhPassword'))
{
$process= 'Login Failed';
}
else
{
$JWT = $ssh->exec($JWT);
echo $JWT;
$process= $ssh->exec($command);
}
return response()->json($process, 200, [], JSON_UNESCAPED_UNICODE);
}
}
谢谢!