【问题标题】:Which environment variable specifies current path?哪个环境变量指定当前路径?
【发布时间】:2014-06-20 05:47:56
【问题描述】:

我正在通过 SSH2 PHP 扩展与一台 Debian 计算机通信。他们的(不是很好)记录在案的function ssh2_exec 指出它的第四个论点是

要在目标环境中设置的名称/值对的关联数组。

我想在与~ 不同的路径上操作以在其他目录上执行ls(以及使通信更舒适)。但是我应该设置什么?

ssh2_exec($connection, "ls", NULL, array("???" => "/var/www/"));

【问题讨论】:

    标签: php ssh debian


    【解决方案1】:

    没有。当前路径是进程状态的一部分,而不是环境。一些 shell 使用PWD 环境变量来指示当前路径是什么,但它没有特殊含义——设置它不会做任何事情。

    如果您想列出不是主目录的路径的内容,请将其作为参数传递给ls

    ssh2_exec($connection, "ls $path");
    

    如果您需要运行一个真正关心其工作目录的命令,请使用cd

    ssh2_exec($connection, "cd $path; command");
    

    【讨论】:

    • 顺便问一下,为什么 SSH 不记得当前目录以便下次 exec 调用?
    • 因为每个ssh2_exec() 调用都会创建一个全新的连接。当命令完成时,它会退出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 2011-08-24
    相关资源
    最近更新 更多