一、shell编程了解
- Shell编程,编写Shell脚本,并且该脚本可以运行,一般用于Linux运维(云计算)
- Shell是一个用C语言编写的程序,可以通过shell进行操作系统的服务。
- Shell Script 是一个脚本语言,跟java、php、python、scala一样,都有变量、方法、循环、数组,IO流都有。
- Linux中有多个shell解释器(类似于java JRE),可以通过一些命令查看有哪些解释器。
- 解释器中比较有名的是Bash,简单易用,免费,经常使用这个,Bash也是大多数Linux厂商使用的解释器。
1、常见的shell解释器有哪些呢?
cat /etc/shells //查看当前电脑上支持的解释器有哪些
2、shell的入门编程
注:#!/bin/bash //每个shell编程中都必须要有的开头 (在.sh文件中编写时)
一般在写完一个需要执行的文件后。都需要对所写文件进行赋权chmod +x 01.sh
touch 01.sh //创建一个文件
vi 01.sh //进入01。sh中进行编辑
#!/bin/bash //每个shell编程中都必须要有的开头
echo 'Hello Shell'
-- 运行:
/bin/bash 01.sh //执行该脚本文集。以后,在linux中看到 xxx.sh 就是可执行文件,类似于windows 中的bat
chmod +x 01.sh
./01.sh //赋完权限就可以这样执行了
二、Shell编程语法
1、变量
命名规则:
- 1、只能是英文字母,数字,和下划线,首个字符不能是数字开头的。
- 2、整个等式中间不能有空格,可以有下划线
- 3、不能使用标点符号
- 4、不能使用关键字 bash中的关键字
your_name="laoyan" //这个中间不能有空格,变量名和等号之间不能有空格
--设置只读变量
readonly your_name
-- unset 不能删除只读变量
-- 如何删除只读
-- eg:
[root@localhost ~]# yum install gdb
[root@localhost ~]# readonly name=zhangsan
[root@localhost ~]# cat << EOF | gdb
> attach $$
> call unbind_variable("name")
> detach
> EOF
2、字符串
在shell编程中,字符串可以使用单引号,双引号,也可以不用任何引号
单引号和双引号的区别:如果你声明一个变量,变量后面是字符串,那么使用单引号和双引号都是没有任何区别的,但是单引号中不能使用变量,双引号中可以使用变量。
skills="java"
echo "$skills" //输出变量值java
course=$skills //一个变量可以赋值给一个新的变量
echo $course //输出java
-- 获取字符串的长度:
skill="java