小编wil*_*ell的帖子

从curl管道运行时跳过bash读取

我正在为github项目构建一个bootstrap,并希望它是一个简单的单行程序.该脚本需要密码输入.

这可以工作并停止脚本等待输入:

curl -s https://raw.github.com/willfarrell/.vhosts/master/setup.sh -o setup.sh
bash setup.sh
Run Code Online (Sandbox Code Playgroud)

这不,只是跳过输入请求:

curl -s https://raw.github.com/willfarrell/.vhosts/master/setup.sh | bash
Run Code Online (Sandbox Code Playgroud)

setup.sh包含的代码如下:

# code before
read -p "Password:" -s password
# code after
Run Code Online (Sandbox Code Playgroud)

是否可以有一个干净的单线?如果是这样,那怎么可能呢?

解决方法:

使用三个命令而不是管道输出.

curl -s https://raw.github.com/willfarrell/.vhosts/master/setup.sh -o vhosts.sh && bash vhosts.sh && rm vhosts.sh

macos bash terminal curl

5
推荐指数
2
解决办法
682
查看次数

在 PHP XPath->evaluate 中使用正则表达式

作为一个简单的例子,我试图获取所有包含电子邮件地址的 dom 对象。

    $doc = new DOMDocument;
    $doc->loadHTML($page);

    $xpath = new DOMXPath($doc);
    $body = $doc->getElementsByTagName('table')->item(0);
    $query = "//text()[fn:matches(., '[\w\d\.-]+@[\w\d\.-]+\.[a-zA-Z]{2,4}')]"; // 
    $entries = $xpath->evaluate($query, $body); // 
    foreach ($entries as $entry) {
        echo "Found {$entry->textContent}<br>\n";
    }
Run Code Online (Sandbox Code Playgroud)

我收到错误:"DOMXPath::evaluate() [domxpath.evaluate]: xmlXPathCompOpEval: function matches bound to undefined prefix fn ..."

我也尝试过该方法

//text()[
    php:function('BooleanPregMatch', '[\w\d\.-]+@[\w\d\.-]+\.[a-zA-Z]{2,4}', .)
]
Run Code Online (Sandbox Code Playgroud)

没有成功。

我找不到很多与 fn:match 或 php:function 相关的示例。任何援助将不胜感激。

php regex xpath dom

0
推荐指数
1
解决办法
1404
查看次数

标签 统计

bash ×1

curl ×1

dom ×1

macos ×1

php ×1

regex ×1

terminal ×1

xpath ×1