shell入门
代码规范
#!/bin/bash(指定告知系统当前这个脚本要使用的shell解释器)
Shell相关指令
文件命名规范
文件名.sh(.sh是linux下bash shell的默认后缀)
使用流程
1.创建.sh文件
2.编写shell代码
3.执行shell脚本(脚本必须得有执行权限)
touch test.sh
vi test.sh
输出的如果是字符需要用引号包起来,纯数字可包也可以不包
执行文件要写成./test.sh,而不是test.sh
变量的定义和使用
定义
变量名=变量值
变量名规范
变量名后面等号左右不能有空格
命名只能使用英文字母,数组和下划线,首个字母不能为数字
变量名中间不能有空格,可以使用_,不可以使用标点符号
使用
echo $变量名
在使用变量的时候一定要在变量名前面加$符合
举例
输出字符串“hello world!”
代码
执行结果
双引号能够识别变量,双引号能够实现转义
单引号不能识别变量,只会原样输出,单引号是不能转义的
反引号(esc下面的那个键),当在脚本中需要执行一些指令并且将执行的结果赋给变量的时候需要使用“反引号”
举例
输出日期
代码
#!/bin/bash
riqi="`date`"
echo $riqi
执行结果
只读变量
格式:
readonly 变量名
只读变量无法重新赋值
代码
#!/bin/bash
a=10
readonly a
a=20
echo $a
执行结果
接受用户输入
格式:read -p 提示信息 变量名
举例
写一个脚本,要求执行之后提示用户输入文件的名称(路径),然后自动为用户创建该文件
代码
#!/bin/bash
read -p "input:" filepath
touch $filepath
ls -1 $filepath
执行结果
删除变量
格式:unset 变量名
举例
创建一个变量a,输出a,删除a,在输出a
代码
#!/bin/bash
a=20
echo $a
unset a
echo $a
执行结果
条件判断语句
if格式
if condition
then
command1
command2
......
fi(闭合,用于区分条件判断语句是否执行完)
if-else格式
if condition
then
command1
command2
else
commandN
if-else if-else格式
if condition
then
command1
elif condition
command2
else
commandN
fi(闭合,用于区分条件判断语句是否执行完)