bash和shell简介

1.bash 和shell 是什么?

一.  Shell俗称壳(用来区别于内核),是指“提供使用者使用界面”的软件,就是一个命令行解释器。
       BASH是Shell的一种,是大多数LINUX发行版默认的SHELL,除BASH Shell外还有C Shell等其它类型的Shell。                            (bash 是一个为GNU项目编写的Unix shell,也就是linux用的shell)


二. shell通俗理解:把用户输入的命令翻译给操作系统。 shell 是一个交互性命令解释器
      当你在命令行中敲入bash命令时,相当于进入bash环境,如果本身就是bash环境,那么就是进入一个子bash环境                         (相当于开 了一个子进程)


三.   #!/bin/bash 
       #This is a very simple example
       echo Hello World

      这样最简单的一个 BASH 程序就编写完了;有几点需要注明:
   (1)开头一行必须为:#!/bin/bash(只有这样程序才能识别这是一个bash脚本)

      #! 是说明 hello 这个文件的类型的,有点类似于 Windows 系统下用不同文件后缀来表示不同文件类型的意思(但不相                   同)。

       Linux 系统根据 "#!" 及该字串后面的信息确定该文件的类型。在BASH中第一行的 "#!" 及后面的 "/bin/bash" 就表明                    该文件是一个 BASH 程序,需要由 /bin 目录下的 bash 程序来解释执行。BASH 这个程序一般是存放在 /bin 目录下,如果你        的 Linux 系统比较特别,bash也有可能被存放在其他地方。

   (2)第二行的 "# This is a ..." 是 BASH 程序的注释。

   (3)第三行的 echo 语句的功能是把 echo 后面的字符串输出到标准输出中去。由于 echo 后跟的是 "Hello World" 这个字符           串,因此 "Hello World"这个字串就被显示在控制台终端的屏幕上了。需要注意的是 BASH 中的绝大多数语句结尾处都没有分       号。

四.  执行程序的方法

      第一种是显式制定 BASH 去执行:
      bash hello或
      sh hello (这里 sh 是指向 bash 的一个链接,“lrwxrwxrwx 1 root root 4 Aug 20 05:41 /bin/sh -> bash”)


     第二种可以先将 hello 文件改为可以执行的文件,然后直接运行它。

     此时由于 hello 文件第一行的 "#! /bin/bash" 的作用,系统会自动用/bin/bash 程序去解释执行 hello 文件的:
     chmodu+xhello
     chmodu+xhello
     ./hello
   此处没有直接 “$ hello”是因为当前目录不是当前用户可执行文件的默认目录,而将当前目录“.”设为默认目录是一个不安全的设    置。

  注:第二种执行方式,要确认脚本为可执行模式,(此类方法自己不常用,理解不深,如有错误欢迎指出,后续用到会加深理            解,纠正博客)
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值