这是什么意思? $ ./your_program <dino> wilma

时间:2016-09-06 09:14:51

标签: linux shell putty

我不明白其含义:

$ ./your_program <dino>wilma

我正在学习perl,我不明白该怎么做。我正在使用PUTTY。

3 个答案:

答案 0 :(得分:3)

$ ./your_program表示您应该在shell上运行程序 your_program 。它假设你有Linux。 $表示您的命令提示符。

因此,如果您有一台Windows计算机和一台服务器或另一台使用Linux连接到PuTTY的计算机,则需要在该计算机上编写程序。

然后你需要让它可执行。

$ chmod u+x your_program

现在你可以运行它了。运行在Linux中可执行的程序是通过在shell中键入程序的名称来完成的。您刚刚使用chmod执行此操作,并且在创建文件时可能使用vimemacs。但是因为你的程序无法从任何地方访问,所以你需要放置./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文海梅有用:

http://www.biostatistic.net/thread-4903-1-1.html