Linux学习笔记——Shell编程概述

Shell名词概述

  • Kernel
    • Linux的内核主要是和硬件打交道
  • Shell
    • 命令解释器(command interpreter)
    • Shell是一个用C语言编写的程序
    • Shell是一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务
  • Shell的两大主流
    • sh:
      • Bourne shell(sh),Solaris,hpux默认shell
      • Bourne again shell(bash),Linux系统默认shell
  • csh 
    • C shell(csh)
    • tc shell(tcsh)
  • #!声明
    • 告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序
    •  

Shell脚本的执行方式

  • 输入脚本的绝对路径或者相对路径
    • /root/hello.sh(脚本文件)
    • ./hello.sh
    • Linux学习笔记——Shell编程概述_第1张图片
  • bash或sh +脚本
    • sh hello.sh
    • 当脚本没有x权限时,root和文件所有者通过该方式可以正常执行
    • Linux学习笔记——Shell编程概述_第2张图片
  • 在脚本的路径前再加“.”或source
    • source hello.sh(脚本文件)
  • 区别
    • 第一种和第二种会新开一个bash,不同的bash中的变量无法共享
    • 第三种是在同一个shell里面执行的
    • 第一种方式(会多一个bash进程)
      • Linux学习笔记——Shell编程概述_第3张图片
      • Linux学习笔记——Shell编程概述_第4张图片
    • 第二种方式(多一个sh进程)
      • Linux学习笔记——Shell编程概述_第5张图片
      • Linux学习笔记——Shell编程概述_第6张图片
    • 第三种方式
      • Linux学习笔记——Shell编程概述_第7张图片
    • Linux学习笔记——Shell编程概述_第8张图片
  • export
    • 可以将当前进程的变量传递给子进程去使用
    • 配置profile的时候,所有的变量前必须加export
    • Linux学习笔记——Shell编程概述_第9张图片
      •  第二种方式执行
        • Linux学习笔记——Shell编程概述_第10张图片
      • 第三种方式执行
      • Linux学习笔记——Shell编程概述_第11张图片
    • 使用export
      • Linux学习笔记——Shell编程概述_第12张图片
      • 当前变量传递到了子进程 

你可能感兴趣的:(Linux学习,linux,shell,bash)