Ant*_*gan 33
简单来说,命令是计算机要执行的一条指令(或一组指令)。
基本的 Unix 实用程序,如ls、ln等(通常)是用 C 编写的,并被编译成不需要解释器来执行的独立可执行程序;它们通常需要在系统上安装某些库文件,但这是另一个问题的答案。
脚本是命令的集合,实际上,脚本本身被认为是一个命令。
一个Perl脚本是Perl语句的顺序和需要perl的可执行文件(单机和编译)程序来解释Perl语句。
有时,大型复杂的解释性脚本(在 Perl、Python 和 Ruby 等语言中)也称为解释性程序,而术语脚本则保留用于更短更简单的脚本。
甲壳脚本是其他的命令序列(任何类型的命令),并且它需要一个Unix外壳诸如击解释脚本。从 Bash 手册页:
Bash 是一种与 sh 兼容的命令语言解释器,它执行从标准输入或文件中读取的命令。
Shell 通常具有既不是独立程序也不是脚本的内置命令。相反,它们是 shell 本身的一部分,由 shell 直接运行。cd是此类内置命令的一个示例。
有时,有些命令既作为 shell 内置命令又作为独立命令存在,例如echo命令。
$ type -a echo
echo is a shell builtin
echo is /usr/bin/echo
Run Code Online (Sandbox Code Playgroud)
echo 它自己执行内置的 shell,而独立命令可以通过提供其完整路径来执行。
运行内置版本的 echo:
$ echo --version
--version
Run Code Online (Sandbox Code Playgroud)
运行独立echo程序:
$ /usr/bin/echo --version
echo (GNU coreutils) 8.23
Packaged by Cygwin (8.23-4)
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Run Code Online (Sandbox Code Playgroud)
注意:以上细节指的是 Unix 环境,但同样的原则适用于 Windows 环境。
| 归档时间: |
|
| 查看次数: |
5074 次 |
| 最近记录: |