shell简介与shell脚本变量、if语句

什么是shell?

一个用C语言编写的程序
shell命令可以理解为Linux命令
业界所说的 shell 通常都是指 shell 脚本,shell脚本可以理解为多个shell命令的集合
如果有人问你,你会shell吗?那你就要反问他,你问的是shell命令还是shell脚本

shell种类

Linux默认的shell解释器为/bin/bash
除此之外还有ash,zsh,ksh等

shell编写规范

  • shell脚本文件规范
    以’sh’结尾,文件名不可有中文和空格
  • 代码规范
#!/bin/bash   指定告知系统这个脚本要使用的shell解释器,其中#为注释符号
shell命令

创建shell脚本

使用命令touch或者vi

touch test.sh
vi test.sh

第一个shell脚本

#!/bin/bash
echo "Hello World !"

执行shell脚本

脚本执行需要有执行权限

chmod +x test.sh

刚创建的脚本文件没有在环境变量PATH中配置,因此执行时需通过脚本路径

/bin/bash test.sh

一般来说使用’./'来告诉系统在当前系统中查找

./test.sh

shell变量

变量定义

class_name="yuwei"

注意,变量名和等号之间不能有空格
同时,变量名的命名须遵循如下规则:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  • 中间不能有空格,可以使用下划线 _。
  • 不能使用标点符号。
  • 不能使用bash里的关键字(可用help命令查看保留关键字)

使用变量
在调用变量时,需要在变量前面加符号’$’
变量外的花括号可加可不加,加花括号是为了帮助解释器识别变量的边界

echo $class_name
echo ${class_name}

关于变量中单双引号

#!/bin/bash
str="hello world!"
echo $str
若为单引号'hello world!',则输出$str
若为双引号"hello world!",则输出hello world!

单引号中任何字符都会原样输出,单引号中的变量无效;
单引号作为字符串拼接使用;
双引号中可以有变量,并且可以使用转义符。

删除变量
使用 unset 命令

unset class_name

shell中的注释
一般的注释方式是在行首添加字符’#’
如果是多行注释就显得比较麻烦
可以采用以下方式

:<<EOF
注释内容...
注释内容...
注释内容...
EOF

其中的EOF可以换成其他的任意字符

反引号
在shell脚本中需要执行shell命令并将执行的结果赋值给变量,需要加上反引号

#!/bin/bash
dt=`date + '%F %T'`
echo $dt

只读变量
基本语法:

readonly 变量
#!/bin/bash
a=10
readonly a
a=20
echo $a

输出结果为10,因为设置了只读,赋值就不成功了

接受用户输入的变量
基本语法:

read -p '提示信息' 变量名称

案例:接收用户输入文件路径,并创建该文件

#!/bin/bash
read -p '请输入路径' filepath
touch $filepath
echo '文件创建成功'
ls -l $filepath

条件判断语句
语法一:只有一个条件

if 条件判断语句
  then
  语句1
  语句2
  ···
fi

语法二:两个条件判断

if 条件判断语句
  then
  语句1
  语句2
  ···
  else
  语句3
fi

语句三:多个条件

if 条件判断语句
  then
  语句1
  语句2
  ···
  elif 条件判断语句2
  then
  语句3
  else
  语句4
fi
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值