在Laravel5.2中将变量从PHP传递到bash

在Laravel5.2中将变量从PHP传递到bash,php,bash,laravel-5.2,Php,Bash,Laravel 5.2,我在controller中有一个函数,我试图在SSH facade中将一个变量形式的PHP传递给bash putenv("UNIQKEY=test123"); SSH::into('production')->run([ "if [ -d 'public_html' ]; then cd public_html/ touch laber.txt

我在controller中有一个函数,我试图在SSH facade中将一个变量形式的PHP传递给bash

putenv("UNIQKEY=test123");
SSH::into('production')->run([
                     "if [ -d 'public_html' ]; then
                          cd public_html/
                          touch laber.txt
                          key=$UNIQKEY
                          echo key >> laber.txt
                      fi"
]);
在这里,我试图为文本文件编写一个密钥。当我写的时候,我得到的是文件中的密钥。不是预期的test123。
我做错了什么…

更新
$UNIQKEY
,转义$to
\$UNIQKEY
您需要将
echo key
更改为
echo\$key
,否则shell不会扩展key变量

此外,只需使用
$UNIQKEY

还有另一个问题,即使用putenv并希望环境变量通过SSH连接。我不相信env VAR是这样转移的。相反,只需为$UNIQKEY设置一个PHP变量,并在shell脚本中插入它

$UNIQKEY='test123';
SSH::into('production')->run([
                     "if [ -d 'public_html' ]; then
                          cd public_html/
                          touch laber.txt
                          echo $UNIQKEY >> laber.txt
                      fi"
]);

$1
从哪里来?@edhurtig我已经更新了这个问题。它是putenv中的变量UNIQKEY