使用 PHP shebang 从 shell 脚本读取 Nautilus 变量

使用 PHP shebang 从 shell 脚本读取 Nautilus 变量

我有一个 php 代码,我已将其放置在 .sh 脚本中,以便将其作为 Nautilus 上的文件右键单击选项运行。在这段代码中,我需要读取当我“右键单击”文件并运行脚本时 Nautilus 填充的 $NAUTILUS_SCRIPT_SELECTED_URIS 变量的内容。但我不知道怎么读。

我的脚本是这样开始的:

#!/usr/bin/php

<?php

try {

$filename_nautilus = $NAUTILUS_SCRIPT_SELECTED_URIS;
...

但 $NAUTILUS_SCRIPT_SELECTED_URIS 结果是空的。然而,如果我使用普通的 shebang 启动脚本,该变量确实会包含我需要的值:

#!/bin/sh

#the variable below contains the value that I need
$NAUTILUS_SCRIPT_SELECTED_URIS

正如你可以想象的,我对 shell 脚本一无所知,但我认为一定有一些简单的方法可以做到这一点,所以如果可以的话请帮助我。

PS:我还尝试从 shell 脚本中运行 php 脚本,将变量作为参数传递,但由于某种原因我无法使其工作。无论如何,如果可以实现这一点,只需从看起来更简单的 php 代码中读取值即可。

答案1

谷歌:“php环境变量”。第一个链接:https://www.php.net/manual/en/reserved.variables.environment.php

所以:

<?php
$filename_nautilus = $_ENV["NAUTILUS_SCRIPT_SELECTED_URIS"];
?>

相关内容