shell编程的特点
1.解释型语言
(1)不像c/c++一样 .c/cpp->.asm->.obj->.exe,而是直接通过解释器与Linux系统内部的通信
(2)通过echo命令查看当前的解释器
[root@www /]# echo $SHELL
/bin/bash
2.特点
• 交互式(Interactive):用户每输入一条命令就立即执行。
• 批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行
脚本中诸多的命令。
shell编程简单语法
1.脚本的基本结构。
vim 脚本名脚本名最好以.sh来结尾,这样可以激发vim对于shell编程的高亮功能。
开头表示默认用什么解释器来执行这个程序#!/bin/bash
[admin@www shell_scripts]$ vim 1.sh
1 #!/bin/bash
2
2.简单输出输出与执行脚本的方式。
(1)echo输出 echo 内容;read -p 字符串 变量名。
这个内容很随意,可以有可以没有引号,也可以把要输出的东西分开写,默认把所有的东西看成一个字符串。
echo "hello world"
echo "hello" "my" "linux"
read -p "输入" a#输入一个值给a
(2)赋予执行权限:这里只做简单介绍,为所有用户添加执行权限。并且执行
[admin@www shell_scripts]$ chmod +x 1.sh
[admin@www shell_scripts]$ ll
total 4
-rwxrwxr-x. 1 admin admin 32 Jan 28 22:25 1.sh
[admin@www shell_scripts]$ ./1.sh
#其他调用方式。
[root@localhost ~]# /root/hello.sh
hello eagle
[root@localhost ~]# ./hello.sh
hello eagle
[root@localhost ~]# . hello.sh
hello eagle
[root@localhost ~]# bash hello.sh
hello eagle
[root@localhost ~]# bash /root/hello.sh
hello eagle
[root@localhost ~]# bash ./hello.sh
hello eagle
hello world
3.使用变量。
与其他编程语言的命名规则一样,变量名必须是以字母或下划线字符“_”开头,后面跟字母、数字或下划线字符。不要使用?、*或其他特殊字符命名你的变量,不能使用关键字。
(1)定义并且使用普通变量,不用指定数据类型。
(2)使用环境变量。
1 #!/bin/bash
2
3 #使用环境变量
4 echo 环境变量:$PATH
5 #自定义变量
6 a=2
7 echo $a
4.使用命令。
shell脚本最大的好处就是,在代码的任意处都可以调用shell命令,输出流不改变(默认向屏幕输出)。要使用正宗的命令,不能使用别名。例如ll 就不能在代码中使用
# vim addx.sh
#!/bin/bash
chmod u+x *
保存退出后为此文件添加上执行权限
chmod u+x addx.sh
5.获得脚本参数
(1)脚本中使用参数
通过$0获得脚本调用的字符串
通过$1获得第一个参数,$2获得第二个参数。同理。
(2)调用脚本时传入参数
以空格分割字符串,作为多个参数,多传入参数不会影响,每个参数之间可以有多个空格。
[admin@www shell_scripts]$ vim 5.sh
[admin@www shell_scripts]$ ./5.sh one two
调用方式:./5.sh
第一个参数:one
第二个参数:two
1 #!/bin/bash
2 echo 调用方式:$0
3 echo 第一个参数:$1
4 echo 第二个参数:$2