1.shell语法入门
1.1 输出一个helloword
需求:创建一个Shell脚本,输出helloworld
# 进入shell,创建一个一个文件夹存shell脚本
mkdir shell_datas
# 创建一个shell脚本
touch helloworld.sh
# 进入编辑模式
vim helloworld.sh
输入i,进入编辑
shell脚本要以 #!/bin/bash 开头
#!/bin/bash
echo "helloworld!"
输入 ctrl+c 退出编辑
输入 shift+: 进入底层模式
输入 wq 保存退出
输入 q! 不保存退出
#执行脚本 sh
sh helloworld.sh
# 或者使用 bash
bash helloworld.sh
1.2 多命令处理
需求:在/shell-datas/目录下创建一个banzhang.txt,在banzhang.txt文件中增加“I love cls”。
创建batch.sh文件,并且进行编辑
touch batch.sh
vim batch
编辑shell脚本
#!/bin/bash
touch banzhang.txt
echo "I love cls"
echo "I love cls">>banzhang.txt
运行查看结果
image.png
2.shell中的变量
2.1 系统变量
常见的系统变量:
- $HOME: 系统家目录
- $PWD:当前目录
- $SHELL:默认的shell解析器
-
$USER: 当前用户
例子:
image.png
2.2 自定义变量
1.基本语法:
-
定义变量:变量=值
image.png -
撤销变量:unset 变量
image.png -
声明静态变量:readonly变量,注意:不能unset
image.png - 可把变量提升为全局环境变量,可供其他Shell程序使用: export 变量名
[atguigu@hadoop101 datas]$ vim helloworld.sh
在helloworld.sh文件中增加echo $B
#!/bin/bash
echo "helloworld"
echo $B
[atguigu@hadoop101 datas]$ ./helloworld.sh
Helloworld
2.变量定义规则:
- 变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。
- 等号两侧不能有空格
-
在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。
image.png -
变量的值如果有空格,需要使用双引号或单引号括起来。
image.png