目录
1、入门示例
2、解释器
3、shell脚本执行方式
3.1 方式一:sh执行脚本
3.2 方式二:工作目录执行
3.3 方式三:绝对路径执行
4、shell的数据类型
4.1 字符串
4.2 整数型
1、入门示例
以下所有操作都在/export/shell目录下进行,请提前创建该目录:
mkdir -p /export/shell |
新建 /export/shell/hello.sh 文件
#!/bin/bash echo 'hello world' |
#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。注意,在shell脚本中除了第一行的#表示特殊格式外,其他地方的#一般表示注释。
echo命令用于向窗口输出文本。
2、解释器
Java需要虚拟机解释器, 同理 shell脚本也需要解析器,查看Linux系统支持的解释器:
[root@node1 shell]#cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh |
常见Shell解释器:
sh: 的全称是 Bourne shell,由 AT&T 公司的 Steve Bourne开发,为了纪念他,就用他的名字命名了。sh 是UNIX 上的标准 shell,很多 UNIX 版本都配有 sh。sh 是第一个流行的 Shell。
Bash:从名称可以看出是Bsh的升级版本,是著名的开源软件项目,目前大多数的Linux版本都使用Bash 作为默认的Shell程序,当运行Shell程序时,实际运行的是Bash程序
Csh:是因使用C语言的语法风格而得名,在用户的命令行交互界面上进行了很多改进,并增加了历史,别名,文件名替换,作业掏等功能,相比Bsh,Csh在更加适用为用户提供命令交互操作
在现代的 Linux上,sh 已经被 bash 代替,/bin/sh往往是指向/bin/bash的符号链接。
如果你希望查看当前 Linux 的默认 Shell,那么可以输出 SHELL 环境变量:
[root@node1 shell]# echo $SHELL /bin/bash |
输出结果表明默认的 Shell 是 bash。
3、shell脚本执行方式
shell脚本有三种执行方式:
3.1 方式一:sh执行脚本
sh执行,进入脚本的工作目录,然后使用对应的sh或bash来执行脚本,这种执行方式,脚本文件不需要具有可执行权限。
[root@node1 ~]# cd /export/data/shell/ [root@node1 shell]#sh hello.sh hello world |
3.2 方式二:工作目录执行
执行脚本时,先进入到脚本所在的目录,然后使用 ./脚本方式执行,这种执行方式,必须保证脚本文件具有可执行权限。
[root@node1 ~]#cd /export/data/shell/ [root@node1 shell]# chmod +x hello.sh [root@node1 shell]# ./hello.sh hello world |
3.3 方式三:绝对路径执行
绝对路径中执行,指的是直接从根目录/到脚本目录的绝对路径,这种执行方式,必须保证脚本文件具有可执行权限。
[root@node1 ~]# /export/shell/hello.sh hello world |
4、shell的数据类型
4.1 字符串
字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号。建议使用双引号,因为双引号里可以有变量和特殊字符,可以按照变量和特殊字符去使用。
4.2 整数型
在Shell中所有的变量默认都是字符串型。默认情况下,所有的数值都是不能进行运算的,如果想要进行数学运算,可以使用“$((运算式))”或“$[运算式]”方式运算(后续讲)。
往期回顾:
一、shell编程简介