我不明白其含义:
$ ./your_program <dino>wilma
我正在学习perl,我不明白该怎么做。我正在使用PUTTY。
答案 0 :(得分:3)
$ ./your_program
表示您应该在shell上运行程序 your_program 。它假设你有Linux。 $
表示您的命令提示符。
因此,如果您有一台Windows计算机和一台服务器或另一台使用Linux连接到PuTTY的计算机,则需要在该计算机上编写程序。
然后你需要让它可执行。
$ chmod u+x your_program
现在你可以运行它了。运行在Linux中可执行的程序是通过在shell中键入程序的名称来完成的。您刚刚使用chmod
执行此操作,并且在创建文件时可能使用vim
或emacs
。但是因为你的程序无法从任何地方访问,所以你需要放置./your_program
,以便shell知道你想在当前目录中运行它。这就是.
的用途。
$ ./your_program wilma
wilma
是命令行参数。它将被传递给您的程序。
您也可以使用perl
解释器运行它而不使其可执行。
$ perl your_program wilma
您可以在最后用.pl
命名所有Perl程序,这样您就可以更轻松地区分它们的文件类型。
答案 1 :(得分:2)
$
表示unix命令提示符。./
是当前路径 - 按照惯例,unix系统不会在当前工作目录中查找可执行程序(它看起来的位置由PATH
环境变量定义)。 your_program
是您刚刚创建/保存的文件的名称。 chmod u+x your_program
时才有效。您也可以使用perl your_program
并获得基本相同的结果。 <dino
表示'打开文件“dino”并将其输入到标准输入的此程序中。 (STDIN
)。 >wilma
表示打开文件“wilma”;截断它,并将此程序的输出写入此文件。 STDIN
是一个unix概念,它是'标准输入' - 它可以是'你键入的东西',也可以是文件或命令的内容。
这可能没有多大意义,但这一切都与管道有关 - 你可以:
cat file | grep someword | sed's / oneword / anotherword /'
打开一个文件(cat
)过滤包含someword
的所有行,然后对其进行模式替换。
cat
会在file
上向grep
“发送”STDIN
。
答案 2 :(得分:0)
它似乎是 Learn Perl 第5.6章的引文,整个引用是:
...以这种方式,用户可以在shell中键入类似这样的命令 提示:
$ ./your_program <dino >wilma
该命令告诉shell应该读取程序的输入 从文件 dino ,输出应该转到文件 wilma 。如 只要程序盲目地从 STDIN 读取其输入,就处理它 (以我们需要的任何方式),盲目地将其输出写入 STDOUT , 这样可以正常工作。
http://perl.find-info.ru/perl/027/learnperl4-chp-5-sect-6.html
也许中文翻译可能对OP文海梅有用: