相关疑难解决方法(0)

如何使用shebang(即#!)为awk使用多个参数?

我想用shebang 执行一个gawk脚本--re-interval."幼稚"的方法

#!/usr/bin/gawk --re-interval -f
... awk script goes here
Run Code Online (Sandbox Code Playgroud)

不起作用,因为gawk是用第一个参数调用的"--re-interval -f"(不是在空白处分开),它不明白.有解决方法吗?

当然你可以不直接调用gawk,而是将它包装成一个分割第一个参数的shell脚本,或者创建一个shell脚本,然后调用gawk并将脚本放到另一个文件中,但我想知道是否有某种方法可以做这在一个文件中.

shebang行的行为因系统而异 - 至少在Cygwin中它不会通过空格分割参数.我只关心如何在一个行为类似的系统上做到这一点; 该脚本不是便携式的.

unix shell awk shebang gawk

114
推荐指数
5
解决办法
3万
查看次数

如何在Ruby脚本中检查STDIN输入?

我需要在Ruby脚本中检查是否存在STDIN输入,就像mysql命令一样.如果没有任何内容指向STDIN,则脚本不应尝试读取STDIN.

如何以跨平台的方式完成?

ruby

20
推荐指数
1
解决办法
4814
查看次数

如何从PHP传递和接收参数内部运行Ruby/Python脚本?

我需要将HTML转换为等效的Markdown结构化文本.

OBS:使用PHP和Python快速而清晰地完成此操作.

由于我使用PHP编程,有些人表示Markdownify可以完成这项工作,但不幸的是,代码没有更新,实际上它没有用.在sourceforge.net/projects/markdownify有一个"注意:不支持 - 你想维护这个项目吗?联系我!Markdownify是一个用PHP编写的HTML到Markdown转换器.看它是html2text.php的继承者,因为它有更好的设计,更好的性能和更少的角落情况."

根据我的发现,我只有两个不错的选择:

  • Python:Aaron Swartz的html2text.py

  • Ruby:Singpolyma的html2markdown.rb,基于Nokogiri

所以,从PHP,我需要传递HTML代码,调用Ruby/Python脚本并接收输出.

(顺便说一句,一个民众在这里提出了一个类似的问题("如何从php调用ruby脚本?"),但我的案例没有实用信息).

按照Tin Man的提示(下图),我得到了这个:

PHP代码:

$t='<p><b>Hello</b><i>world!</i></p>';
$scaped=preg_quote($t,"/");
$program='python html2md.py';

//exec($program.' '.$scaped,$n); print_r($n); exit; //Works!!!

$input=$t;

$descriptorspec=array(
   array('pipe','r'),//stdin is a pipe that the child will read from
   array('pipe','w'),//stdout is a pipe that the child will write to
   array('file','./error-output.txt','a')//stderr is a file to write to
);

$process=proc_open($program,$descriptorspec,$pipes);

if(is_resource($process)){
    fwrite($pipes[0],$input);
    fclose($pipes[0]);
    $r=stream_get_contents($pipes[1]);
    fclose($pipes[1]);
    $return_value=proc_close($process);
    echo "command returned $return_value\n";
    print_r($pipes);
    print_r($r);
}
Run Code Online (Sandbox Code Playgroud)

Python代码:

#! /usr/bin/env python
import html2text
import …
Run Code Online (Sandbox Code Playgroud)

html php ruby python markdown

8
推荐指数
2
解决办法
1万
查看次数

运行测试时,Chrome驱动程序控制台输出会变得沉寂

我使用的是最新版本的Chrome(32.0.1700.107)和Chrome驱动程序(V2.8).但是当我在Ruby中使用以下代码运行我的示例测试时:

    require 'selenium-webdriver'
    WAIT = Selenium::WebDriver::Wait.new(timeout: 100)
    $driver = Selenium::WebDriver.for :chrome
    $driver.manage.window.maximize
    $driver.navigate.to 'https://www.google.co.in'

     def apps_hover
      ele_hover = $driver.find_element(:xpath, ".//*[@id='gbwa']/div[1]/a")
      $driver.action.move_to(ele_hover).perform
      sleep 5
      puts"Pass"
     end

     apps_hover
    $driver.quit()
Run Code Online (Sandbox Code Playgroud)

我从一开始就从chrome驱动程序获得控制台输出,如下所示:

[5032:4816:0218/130016:错误:chrome_views_delegate.cc(176)]未实现[5032:4816:0218/130016:错误:desktop_root_window_host_win.cc(746)]未实现[5032:4816:0218/130016:错误:desktop_root_window_host_win.cc(746)]未实现.

有没有办法让这些控制台输出静音?

ruby google-chrome selenium-chromedriver

6
推荐指数
1
解决办法
1829
查看次数

#tty是什么?关于STDIN意味着什么/做红宝石?

阅读ruby文档在这里并没有太大帮助:

如果ios与终端设备(tty)关联,则返回true,否则返回false.

我希望得到一些额外的资源或解释,以帮助我更好地理解这一点.

对于上下文,我正在编写一个小命令行程序,它接受文件路径或管道内容到ruby可执行文件中并#tty?用于确定即将发生的事情.

谢谢!

ruby io

6
推荐指数
1
解决办法
2011
查看次数

检测Ruby中的stdin内容

我想知道是否有人试图在stdin上提供ruby程序内容.我不希望ruby回退到允许交互式输入.我该怎么做呢?

# When called in bash like this, I want 'cat.rb' to exit immediately:
ruby cat.rb

# When called in bash like this, I want to see the word 'hello':
echo hello | ruby cat.rb
Run Code Online (Sandbox Code Playgroud)

如果我只是cat.rb包含,puts gets则第一个示例将阻塞,等待交互式stdin上的EOF.我不想修改调用命令,但希望支持这两种行为.

ruby

5
推荐指数
1
解决办法
1188
查看次数

传递相当巨大的参数ruby脚本,问题?

ruby somescript.rb somehugelonglistoftextforprocessing
Run Code Online (Sandbox Code Playgroud)

这是一个坏主意吗?我应该创建一个单独的平面文件包含somehugelonglistoftextforprocessing,并让somescript.rb读取它?

如果脚本参数是非常长的文本(1KB~300KB),这有关系吗?如果有的话会出现什么问题.

ruby

3
推荐指数
1
解决办法
219
查看次数

如何从ruby脚本中判断它是从命令行还是从非交互式进程运行的?

如何在ruby脚本中告诉它是否已从命令行运行,即如下所示:

> ruby myscript.rb
Run Code Online (Sandbox Code Playgroud)

或者来自非互动过程,例如cron?

ruby

3
推荐指数
1
解决办法
137
查看次数

标签 统计

ruby ×7

awk ×1

gawk ×1

google-chrome ×1

html ×1

io ×1

markdown ×1

php ×1

python ×1

selenium-chromedriver ×1

shebang ×1

shell ×1

unix ×1