Shell名词解释
- kernel
Linux内核主要是为了和硬件打交道 - Shell
命令解释器(command interpreter)
Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell即是一种命令语言,又是一种程序设计语言。
Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 - #!声明
告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序
#!/bin/bash
echo "hello world!"
shell两大主流
sh:
- Bourne shell (sh),Solaris,hpux默认shell
- Bourne again shell (bash),Linux系统默认shell
csh:
C shell(csh)
tc shell(tcsh)
Shell脚本的执行
- 输入脚本的绝对路径或相对路径
/root/helloworld.sh
./helloworld.sh
执行的必须是一个可执行文件 - bash或sh +脚本
sh helloworld.sh
当脚本没有x权限时,root和文件所有者通过该方式可以正常执行 - 在脚本的路径前加 “.” 或source
source helloworld.sh - 区别
第一种和第二种会新开一个bash,不同bash中的变量无法共享
第三种是在同一个shell里面执行的 - export:可以将当前进程的变量传递给子进程去使用
将来配置profile的时候 所有的变量前必须加export