0

我是编程/开发的新手,在安装开发工具时遇到问题。安装某些东西时我最大的问题之一是理解 shell 或终端(它们是同一个东西吗?)以及它与安装工具的关系,如 uncrustify for例子。我需要阅读什么来理解 shell/终端和 $PATH?

4

2 回答 2

2

你试过谷歌搜索吗?

于 2011-05-11T20:54:13.410 回答
1

(我认为到目前为止你在 PATH 上得到了很好的建议)

对 shell 最通用的描述是,它是一个促进与程序交互的程序。程序促进与操作系统的“通信”以通过硬件执行工作。

通常有两种模式可以与shell交互。

  1. 一个命令行处理器,您可以在其中输入命令,一个字母一个字母,一个字一个字,直到您按下回车键。然后,shell 将读取您输入的内容,验证它是否理解您所要求的一般形式,然后开始运行您输入的内容中指定的 1 个(或更多)程序。

  2. 批处理脚本处理器。在这种情况下,您已将要执行的所有命令组装到一个文件中,然后通过几种机制中的一种,您安排运行批处理脚本,以便它依次运行您指定的命令,计算机执行您的为你工作。你做过Windows .Bat 文件吗?相同的想法,但更强大。

因此,终端寡妇是负责 a 的程序。获取输入和 b.,打印输出。当您谈到作为 Unix 系统基础的 c 编程时,您所谈论的是操作系统设计的一个特性,即标准输入和标准输出。普通的 unix 命令期望从 StdIn 读取指令并将输出打印到 StdOut。

当然,所有好的程序都可以从文件中获取输入并将输出写入文件,并且大多数程序将接管 StdIn/Out 并处理文件,而不是从键盘读取输入和/或写入屏幕。

要返回 shell,此程序可让您在终端窗口打开时键入。您可能会遇到许多版本的 shell,并且具有不同级别的支持 a. 交互模式,b。批处理脚本模式。

总而言之,这里是终端和外壳所涉及的(非常基本的)图表

(run a) terminal-window (program) 
   shell-command-prompt (program) (automatically started as subprogram)
     1. enter commands one at a time, with input from
           a. typed at keyboard (std-in)
           b. infile
        and output to 
           a. screen (std-out)
           b. outFile
    program
       calls OS level functions for 
         a. computation
         b. I/O
 OR 2.
 (run the shell program without a terminal, usually from the cron sub-system)
   shell-batch-processor 
      shell program reads batch-script file, 1 'statement' at a time
      validate statements
      run program, relying on script or cfg to provide inFile data and 
        indicate where to put outfile data.

我希望这有帮助。

于 2011-05-11T21:39:51.253 回答