Shell名词解释

✦ Kernel(内核)
  ● Linux内核主要为了与硬件打交道。
✦ Shell
  ● 命令解释器(Command Interpreter)
  ● Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。
  ● Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
✦ Shell两大主流
  ● sh
    · Bourne shell(sh):Solaris、hpux默认shell
    · Bourne again shell(bash):Linux默认shell
  ● csh
    · C shell(csh)
    · tc shell(tcsh)
✦ #!声明
  ● 告诉系统其后路径所指定的程序即是解释此脚本文件的shell程序,如下。

1
2
#! /bin/bash
echo "Hello World!"

Shell脚本的执行

✦ 输入脚本的绝对路径或相对路径
  ● /root/helloworld.sh
  ● ./helloworld.sh
  ● 必须是可执行文件
✦ bash或者sh+脚本
  ● sh helloworld.sh
  ● 当文件没有权限x时,root和文件所有者通过该方式可正常执行
✦ 在脚本路径前加.或者source
  ● ./ helloworld.sh
  ● source helloworld.sh
✦ 区别
  ● 第一种和第二种会新开一个bash,不同bash中的变量无法共享
  ● 第三种是在同一个shell里执行的
export:可以将当前进程的变量传递给子进程去使用
  ● 将来配置profile的时候,所有变量前必须加export