2. Shell 编程
2.1 简介
Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。 Shell 既是一种命令语言,又是一种程序设计语言。 Shell script 是一种为 shell 编写的脚本程序。Shell 编程一般指 shell脚本编程,不是指开发 shell 自身。
Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 Linux 的 Shell 解释器 种类众多,一个系统可以存在多个 shell,可以通过 cat /etc/shells 命令查看系统中安装的 shell解释器。
Bash 由于易用和免费,在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。
shell 解释器
java 需要 虚拟机解释器, 同理 shell脚本也需要 解析器
常用的解析器有:
[root@node04 shells]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
2.2快速入门
1 编写脚本
新建 /export/hello.sh 文件
#!/bin/bash
echo ‘hello world’
#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。
echo 命令用于向窗口输出文本。
2 执行shell脚本
执行方式一
问题: bash 和 sh 是什么关系
[root@node04 shells]# /bin/sh 01.sh
hello world
[root@node04 shells]# /bin/bash 01.sh
hello world
问题: bash 和 sh 是什么关系
sh 是 bash 的 快捷方式
3.2 执行方式二
方式一的简化方式
[root@node04 shells]# bash hello.sh
hello world
[root@node04 shells]# sh hello.sh
hello world
3.3 执行方式三
./文件名
[root@node04 shells]# ll
总用量 4
-rw-r–r--. 1 root root 32 3月 14 00:20 01.sh
[root@node04 shells]# ./hello.sh
-bash: ./01.sh: 权限不够
3.3.1 权限不够怎么办?
[root@node04 shells]# chmod 755 hello.sh
[root@node04 shells]# ll
总用量 4
-rwxr-xr-x. 1 root root 32 3月 14 00:20 hello.sh
#再次执行:
[root@node04 shells]# ./hello.sh
hello world!