美文网首页
Llinux03--shell脚本

Llinux03--shell脚本

作者: 白璞1024 | 来源:发表于2019-01-14 15:57 被阅读0次

[TOC]

八、shell语言

1、简单的shell

代码规范:

#!/bin/bash 

文件命名规范:文件名.sh

使用流程:

  1. 创建shell文件 touch/vim
  2. 编写shell代码
  3. 执行shell脚本 必须有执行权限
#!/bin/bash/
echo "HelloWorld"      

注意 :输出的内容如果包含字母和符号,需要用引号包括起来,如果是存数字,可以用引号,也可以不包括

如果一行有多个命令的话,才需要加 ;多行的话可以不用加;

执行的时候要写脚本的路径./HelloWorld.sh

另一种执行方式/bin/bash HelloWorld.sh

2、变量

定义: class_name= “yunwei”

使用: echo $class_name

变量名后年的等号左右不能有空格

输出变量的时候,可以用双引号识别,但是不能够用单引号l。单引号就会当成字符串输出单引号不能转移

在脚本中需要执行一些指令,将指令结果赋给变量的时候,要使用\(反引号)

dt=`date "+%Y-%m-%d"`
echo $dt

只读变量:

a=10
readonly a# 申明只读
a=20
echo $a

# 输出10

接受用户输入

read -p 提示信息 变量名

read -p '请输入需要创建的文件路径: ' filepath
touch $filepath
echo “文件创建成功"
ls -l $filepath

删除变量

unset 变量

b=20
echo $b
unset b
echo $b

# 输出 20和空行

3、条件判断语句

if condition1
then 
    command1
elif condition2
then 
    command2
else 
    command3
fi

4、运算符

1)算数运算符

shell不支持数学运算的,通过内置的expr来进行数学判断

运算符 说明 举例
+ expr $a +$b 30
expr $a - $b 10
* expr $a +$b 30
/ expr $a +$b 30
% 取余 expr $a +$b 30
= 赋值 expr $a +$b 30
== 判断相等 expr $a +$b 30
!= 不等 expr $a +$b 30
expr `$a-$b`


#!/bin/bash
  a=10
  b=20
  echo "a=$a"
   echo "b=$b"
   
   echo ""
   echo "a+b = " `expr $a+ $b`
   echo "a-b = " `expr $a - $b`
  echo "a*b = " `expr $a \* $b`
  echo "b/a = " `expr $b / $a`
  echo "b%a = " `expr $b % $a`
  
  
if [ $a == $b ]
then 
    echo "a 等于 b "
else 
    echo "a 不等于 b"
fi


if [ $a != $b ]
then 
    echo "a 不等于 b "
else 
    echo "a 等于 b"
fi


2)关系运算符

必须是数字或者是数字的字符串

运算符 说明 举例
-eq 两个数是否相等,相等返回true [$a -eq $b]
-ne 两个数是否不等,不等返回true [$a -ne $b]
-gt 左边大于右边 [$a -gt $b]
-lt 左边小于右边 [$a -lt $b]
-ge 大于等于 [$a -ge $b]
-le 小于等于 [$a -le $b]

if [$a -eq $b ]
then
    echo "a==b"
else 
    echo "a!=b"
fi

if [$a -ne $b ]
then
    echo "a!=b"
else 
    echo "a==b"
fi


if [$a -gt $b ]
then
    echo "a>b"
else 
    echo "a<=b"
fi


if [$a -lt $b ]
then
    echo "a<b"
else 
    echo "a>=b"
fi



if [$a -ge $b ]
then
    echo "a>=b"
else 
    echo "a<b"
fi


if [$a -le $b ]
then
    echo "a<=b"
else 
    echo "a>b"
fi

3)逻辑运算符

运算符 说明 举例
非运算 ·[ !false ]
-o 或运算 [ $a lt 20 -o $b -gt 100]
-a 与运算 [ $a -lt 20 -a $b -gt 100 ]

4)字符串运算符

运算符 说明 举例
= 非运算
!= 或运算
-z 字符串是否为空,空返回true [ -z $a ] false
-n 判断长度不为0 返回true [ -n $a ]true
str 判断是否为空的字符串 [ $a ]true

5)文件测试运算符

操作符 说明 举例
-b file 检查是不是块设备 [ -b $file ]
-c file 检测是不是字符设备文件 [ -c $file ]
-d file 检测文件是不是目录 [ -d $file ]
-r 权限判断,有一个部分符合,就认为是有权限的
-w
-x 执行
-s 文件大小,不为空返回true
-e file 文件存在,存在就返回true

5、附带选项

  1. 参数处理

    ​ 用户调用传入参数

    #系统调用的时候,传入参数
    ./test.sh a b c
    #接受:脚本中可以用"$1"来表示第一个参数也就是 a  "$2"表示b
    
  2. 别名

    1. 写一个自己的shell脚本
    2. vim ~/.bashrc写别名
    3. 可以直接使用别名了
  3. 安装文件

    ​ wget url

相关文章

  • Llinux03--shell脚本

    [TOC] 八、shell语言 1、简单的shell 代码规范: 文件命名规范:文件名.sh 使用流程: 创建sh...

  • 自瞄3.15

    【脚本开关→】开【←脚本开关】 【脚本版本→】通用技能自瞄3.15【←脚本版本】 【脚本关闭公告→】脚本已更新.....

  • 自瞄3.16

    【脚本开关→】开【←脚本开关】 【脚本版本→】通用技能自瞄3.16【←脚本版本】 【脚本关闭公告→】脚本已更新.....

  • 为什么会有人说引流脚本不靠谱?原来是还没了解透彻引流脚本

    引流脚本,什么是引流脚本?引流脚本怎么样?引流脚本好用吗?引流脚本靠谱吗?引流脚本是骗局吗?引流脚本效果好吗?引流...

  • Kettle11:Kettle脚本控件

    本章讲解以下三种脚本的案例01 javascript脚本02 java脚本03 执行SQL脚本 脚本 1.脚本是转...

  • 进程守护脚本

    进程守护脚本 新建脚本 编辑脚本 添加可执行权限 启动脚本

  • DoTween

    /* 项目: 脚本:校园导航管理脚本 脚本:此脚本挂载在SchoolMenuPanel上 脚本:点击二级导航按钮,...

  • UI Recorder之Android自动化

    简单介绍 之前已经进行了Web的脚本录制,脚本回放,及脚本运行。这次进行Android端脚本录制、脚本回放,及脚本...

  • 宝塔Linux面板命令大全

    【安装宝塔】centos安装脚本 Ubuntu/Deepin安装脚本: Debian安装脚本 Fedora安装脚本...

  • 透视3.16

    【脚本开关→】开【←脚本开关】 【脚本关闭公告→】服务器更换..【←脚本关闭公告】

网友评论

      本文标题:Llinux03--shell脚本

      本文链接:https://www.haomeiwen.com/subject/xhcjdqtx.html