您现在的位置是:主页 > 数据库技术 > 数据库技术

Shell的参数有哪些

IDCBT2022-01-01服务器技术人已围观

简介这篇文章主要为大家展示了“Shell的参数有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Shell的参数有哪些”这篇文章吧。

这篇文章主要为大家展示了“Shell的参数有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Shell的参数有哪些”这篇文章吧。

Shell 参数

   传递参数:可以将外部的值传递到脚本的内部函数中,提高脚本的灵活性;可以添加脚本的使用选项,增加脚本的可定制性。

     

     上图显示了 Shell 中函数的参数传递:定义函数 testfunc();函数输出两个引用参数,$# 表示传入函数的参数个数,$@ 表示所有参数的内容。


     值得注意的是,如果拥有的参数多余 9 个,则不能使用 $10 来引用第十个参数,必须先处理或者保存第一个参数($1),然后使用 shift 命令删除第一个参数,并将剩下的参数上移一位,则 $10 就变成了 $9,以此类推,而 $# 的值将被更新以反映剩余参数的个数。实际情况中,一般使用迭代的方法完成这个约束。
     许多 UNIX 程序遵循以下原则:从标准输入(standard input)读入,经过处理,从标准输出(standard output)输出,将异常及错误报告到标准错误(standard error)。这样的程序被称为过滤器(filter)。
    重定向符号 command>filename 会将 command 的标准输出重定向到 filename 中而不是打印在控制台,如果有同名 filename,则覆盖它,如果没有,则新建;command>>filename 会将 command 的标准输出以追加的形式重定向到 filename,不会覆盖同名文件;command<filename 将command="" 的标准输入重定向为="" filename;管道符号="" command1|command2="" 将="" command1="" 的标准输出与="" command2="" 标准输入相连。     理论上讲,管道功能可以通过创建临时文件,使用重定向符号实现。但是管道符号可以直接连接程序的输入输出,并且没有程序使用个数限制,只要尚未获得最终处理结果,就可以继续添加管道。管道的数据共享在 Linux 内核中是通过内存拷贝实现的,相较于 CPU 的计算,数据的移动往往更消耗时间,因此在设计管道的时候,尽量把能够减少数据量的操作置于管道的前端,一来数据拷贝速度快,二来程序运算量少。
    内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符为非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符指定待读写的文件。
   文件描述符表:用户区的一部分,除非通过使用文件描述符的函数,否则程序无法对其进行访问。对进程中每个打开的文件,它都包含一个条目。

标签:

很赞哦! ()

本栏推荐