博游网
当前位置:首页»科技报道»IT报道

shell是什么意思 Shell是用来解决什么问题的?

2018年04月05日 来源:shell是什么意思 大字体小字体

  bashshell有很多的特性,基于这些特性让bashshell变得非常易用。

  Linux的命令行接口归结起来就是各种Shell,那么到底什么是Shell?

  shell命令的处理机制shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令,具体查找顺序如下:1.查找内部命令2.根据PATH环境变量中设定的目录,自左向右逐个搜索目录下的文件名>注意:为了安全起见,建议使用非管理员账号登陆!执行管理操作时,临时切换至管理员账号,操作完成后即退回。

  路径补全用户可以在输入路径、文件时不必输入路径或文件的全部名称,而是根据给定的起始路径,输入能够唯一代表该路径或文件的部分字符后,通过Tab键进行路径补全,提高输入效率。如果输入的字符不能唯一代表路径或文件,需要再次敲击Tab键,以列表形式列出符合要求的路径或文件。

  Linux的命令shell是与操作系统相分离的一层。不同的shell环境影响您具备不同的功能,比如可编辑的命令行和历史命令回查等。shell还决定了脚本中函数的语法。下面就列举几个常用的Shell:1.bashbashshell是Bourneshell的一个免费版本,它是最早的Unixshell,包括许多附加的特点。Bash有可编辑的命令行,可以回查历史命令,支持tab键补齐以使用户避免输入长的文件名。2.cshCshell使用的是“类C”语法,借鉴了Bourneshell的许多特点,只是内部shell命令集有所不同。3.kshKornshell的语法与Bourneshell相同,同时具备了Cshell的易用特点。许多安装脚本都使用ksh,即使您不把它作为您的主shell,您也应该在系统中安装它。4.tcshTCshell是Cshell的一个增强版本,与Cshell完全兼容。5.zshZshell是Kornshell的一个增强版本,具备bashshell的许多特色。>默认的shell是每个用户帐号的一个参数。Linux中典型的默认shell是/bin/bash,不过也可以用其他的shell。每个shell的man文档实际上都非常好,都对各种shell及其使用进行了详细的说明。

  通配符号|含义————|——[:space:]|空白字符[:punct:]|标点符号[:lower:]|小写字母[:upper:]|大写字母[:alpha:]|大小写字母[:digit:]|数字[:alnum:]|数字和大小写字母>还有更多的特殊通配符,可以通过man7glob来查询帮助

  序号|特性——|——1|支持命令历史2|支持管道、重定向3|支持命令别名4|支持命令行编辑5|支持命令行展开6|支持文件名通配(globbing)7|支持使用变量8|支持编程9|支持命令补全10|支持路径补全11|支持命令别名12|支持命令引用(替换)

  命令行展开

  BashShell文件名通配符

  命令引用(替换)用法–把命令中某个子命令替换为其执行结果的过程命令替换可以使用两种方法:$()或者`COMMAND`是反引号示例:用pwd命令的结果替换:echo"Thecurrentdirectoryis$(pwd)"用date命令的结果替换:touch./file-$(date+%Y-%m-%d-%H-%M-%S).txt

  命令执行的状态结果BashShell通过状态返回值来输出命令的执行结果:成功:0失败:1-255命令执行完成之后,其状态返回值会保存于BashShell的特殊变量$?中。示例:~]#echo$?一般在执行完某一个指定命令后执行,来查看命令的执行状态结果。

  Thesnailretreatedintoitsshell.蜗牛缩进壳里去了。

  命令补全在用户输入命令的部分字母后,可以敲击Tab键,通过BashShell的命令不全功能,在PATH环境变量中搜索与之前敲击字符相同的命令,并进行自动补全,如果出现多个,再敲击一次Tab,则会以列表形式展现出来。

  Shell就是一个命令行解释器,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。Shell,译为外壳,是用户直接连入计算机所使用的计算机程序,负责解析用户提供的命令,如词法分析、语法分析、句法分析。

  #!是特殊的表示符,其后面跟的是解释此脚本的shell的路径,如果没有声明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shell脚本。

  通配符号|含义————|——*|可以用于匹配任意长度的任意字符?|可以匹配任意单个字符[]|可以匹配指定范围内的任意单个字符,例如:[a-zA-Z]*[0-9],以单个字母开头,以数字结尾的字符串[^]|匹配指定范围之外的任意单个字符还有一些还有一些特殊的通配符,还需要再加上[]才能使用,这些也支持取反格式:[^[]]

相关内容

编辑精选

Copyright © 2015 博游网 http://www.honker.net. All rights reserved.