Linux shell入门学习

    作者:课课家教育更新于: 2018-01-05 11:20:30

      从程序员的角度来看,shell本身是一种用C语言编写的程序,从用户的角度来看,shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用shell了脚本编程完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,shell编程仍然起着不可忽视的作用。深入地了解和熟练shell编程,是每一个Linux用户的必修课之一。
      linux系统管理员对于Linux shell并不陌生,或许每天都要使用。今天我们就对Linuxshell基础进行学习,希望能对像学习Linux shell脚本编程的初学者有一个明确的帮助,水平得到提高。
      本文就来给大家介绍shell的语法基础,开头、注释、变量等,虽然只是一些简单的介绍,但对以后的学习打下基础极为重要。

    Linux shell入门学习_Linux_Linux系统_编程语言
      1、什么是shell?
      Linux系统的shell了作为操作系统的外壳,为用户提供给使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。
      Shell是用户和内核之间的接口程序,如果吧Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。
      Shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传入Linux核心。
      2、shell语法基本介绍
      2.1 开头
      程序必须以下面的行开始(必须放在文件的第一行):
      #!/bin/sh
      符号#!用来告诉系统后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
      当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
      要使脚本可执行:
      编译 chmod +x filename 这样才能用./filename 来运行
      2.2注释
      在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。
      如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。
      2.3变量
      在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
      #!/bin/sh
      #对变量赋值:
      a="hello world"
      # 现在打印变量a的内容:
      echo "A is:"
      echo $a
      有时候变量名很容易与其他文字混淆,比如:
      num=2
      echo "this is the $numnd"
      这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量:
      num=2
      echo "this is the ${num}nd"
      这将打印: this is the 2nd
      2.4环境变量

          由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录脚本中使用环境变量。
      Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的Shell语言的语法有所不同,所以不能交换使用。每种Shell都有其特色之处,基本上,掌握其中任何一种就足够了。
      Bourne shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。linux操作系统缺省的shell是Bourne Again shell,它是Bourne shell的扩展,简称Bash,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C shell和Korn shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。
      C shell是一种比Bourne shell更适于编程的shell,它的语法与C语言很相似。 Linux为喜欢使用C shell的人提供了Tcsh。Tcsh是C shell的一个扩展版本。Tcsh包括命令行编辑、可编程单词补全、拼写校正、历史命令替换、作业控制和类似C语言的语法,它不仅和Bash shell是提示符兼容,而且还提供比Bash shell更多的提示符参数。
      Korn shell集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容。Linux系统提供了pdksh(ksh的扩展),它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序。
      Linux并没有冷落其他shell用户,还包括了一些流行的shell如ash、zsh等。每个shell都有它的用途,有些shell是有专利的,有些能从Internet网上或其他来源获得。要决定使用哪个shell,只需读一下各种shell的联机帮助,并试用一下。
      本文的内容就到这里结束,感兴趣的朋友可以深入学习哦!喜欢我们的分享,可以关注课课家哦!

课课家教育

未登录