一、shell 概述
1.shell 的两层含义: 既是一种应用程序,又是一种程序设计语言
a.作为应用程序: 交互式地解释、执行用户输入的命令,将用户的操作翻译成机器可以识别的语言,完成相应功能。称之为 shell 命令解析器。shell 是用户和 Linux 内核之间的接口程序。
b.作为程序设计语言:它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支 完成类似于 windows 下批处理操作,简化我们对系统的管理与应用程序的部署。称之为 shell 脚本。
2. Linux 系统中提供了好几种不同的 shell 命令解释器,如 sh、ash、bash 等。一般默认使用 bash 作为默认的解 释器。
查看系统的进程:ps -A
查看调用的 shell 命令解释器目录:echo $SHELL
二、shell 脚本分为两类
1.系统进行调用:这类脚本无需用户调用,系统会在合适的时候调用。以下系统默认调用的两个脚本文件。
/etc/profile:对系统的所有用户都有效。用户登录系统的时候执行。
~/.bashrc:对登录的用户有效 用户登录,打开终端。
2.用户编写,需要手动调用的:无论是系统调用的还是需要我们自己调用的,其语法规则都一样。
三、shell 脚本的定义与执行
1.写脚本:
2.给脚本增加 可执行权限:chmod +x 脚本文件
3.执行脚本文件,有3种执行方法:
(1)./01_shell.sh 先使用 #! 指定的shell,如果没有则使用默认的shell
(2) . 00_shell.sh 使用当前 shell 读取解析 00_shell.sh
(3) bash 00_shell.sh 直接指定使用 bash 解析 00_shell.sh
区别:用./和 bash 去执行会在后台启动一个新的 shell 去执行脚本。
用.去执行脚本不会启动新的 shell,直接由当前的 shell 去解析执行脚本。
4.如果执行shell格式出错解决方法:
方法一:a.安装格式转换软件:sudo apt-get install dos2unix
b.执行命令:dos2unix 脚本文件
方法二:需要用 vi 打开脚本,在最后一行模式下执行 :set ff=unix