【问题标题】:phpseclib, using double slashesphpseclib,使用双斜杠
【发布时间】:2014-04-13 19:10:46
【问题描述】:

好的,我有这条线,

$ssh->exec('cd E:\\Titan\ Torque\\Jobs');

现在如何将它与双斜杠一起使用?我的意思是我需要发送 2 个斜杠而不是一个命令:

cd E:\\Titan\ Torque\\Jobs

是我需要被执行的。

附: ssh 服务器在 windows 上运行,此命令在 putty 中运行良好,但 PHP 将其剥离为:

cd E:\Titan\ Torque\Jobs

任何帮助将不胜感激。

【问题讨论】:

    标签: php windows ssh phpseclib


    【解决方案1】:

    我认为如果你用反斜杠转义反斜杠,它们应该可以工作。

    $ssh->exec('cd E:\\\\Titan\\ Torque\\\\Jobs');
    

    在测试中:

    echo 'E\\:a thing with\slashes\\';
    echo "\n";
    echo 'E\\\\:a thing with\\\\slashes\\';
    

    给予

    E\:a thing with\slashes\ 
    E\\:a thing with\\slashes\
    

    如果您好奇,一个反斜杠之所以起作用,是因为 \ 不是特殊的转义序列,所以它按字面意思放入结果字符串中。

    【讨论】:

    • 非常感谢,有没有办法自动执行此操作?这样我就不需要编辑正在使用的每个命令。
    • 我不知道如何更改用于解析字符串的 PHP,也不知道更改 Exec 的工作方式,但我猜你应该能够在文档中进行搜索替换.
    • 不用担心总是可以做一些事情,比如将双引号替换为 4,因为有时我只需要 1 个斜杠来代替空格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    相关资源
    最近更新 更多