ubuntu(20.04)-shell脚本(1)-基本概念

目录

1.概述

2.shell脚本调用形式

3.shell语法初识

        3.1 定义以开头:#!/bin/bash

        3.2 单个“#”号代表注释当前行

4.变量

                  4.1 只读变量

         4.2 环境变量: env

         4.3 预测变量:

         4.4 变量扩展: 是否存在,字符串操作

5.条件测试:

                 5.1 文件测试

         5.2 字符串测试

         5.3 数值测试

         5.4 符合语句测试

6.控制语句

        6.1 if语句

        6.2 case

        6.3 for

        6.4 while

        6.5 until

        6.6 break continue

7.函数


1.概述


shell命令解析器:
系统提供 shell命令解析器: sh ash bash
查看自己linux系统的默认解析:echo $SHELL

 


2.shell脚本调用形式



打开终端时系统自动调用:/etc/profile 或 ~/.bashrc



  2.1 /etc/profile


:系统级的环境变量,开机自启动。跟windows里的“高级设置”->"环境变量"->"系统变量”一样。


 

2.2 ~/.bashrc
 

用户自己的家目录中的.bashrc
登录时会自动调用,打开任意终端时也会自动调用
这个文件一般设置与个人用户有关的环境变量,如交叉编译器的路径等等
用户手动调用:用户实现的脚本

 

 


3.shell语法初识

        3.1 定义以开头:#!/bin/bash

         3.2 单个“#”号代表注释当前行

        

 


              第一步:编写脚本
              第二步:加上可执行权限
              第三步:运行
                           ./xxx.sh  :先按文件中 #!指定的解析器解析
                           bash xxx.sh :指明先用 bash解析器解析
                           .xxx.sh 直接使用默认解析器解析


4.变量

        4.1 只读变量

                 定义(num=10)+引用变量($num)+清除(unset)+键盘获取(read)(num=$num)                   

                 

 

          

 


         4.2 环境变量: env

           导出环境变量 作用:(让其他shell脚本识别该变量,设为全局变量)
           env
           source FileName

           source .bash_rc 与 . .bash_rc 是等效的。
           注意:source命令与shell scripts的区别是,
           source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。
 

           示例:把一个变量写入环境变量中。

#1.编辑一个shell脚本 06_sh.sh 文件内容如下。
#2.cmd:
   source 06_sh.sh
#3.查看是否添加完成 cmd:
   env
#4. 其他脚本读取
   #!/bin/bash
   echo "DATA=$DATA"

    

06_sh.sh             

#!/bin/bash
export DATA=100

 

 注意事项:

1、变量名只能包含英文字母下划线,不能以数字开头
     1_num=10 错误
     num_1=20 正确
2、等号两边不能直接接空格符,若变量中本身就包含了空格,则整个字符串都要用双引号、或单       引号括起来
3、双引号 单引号的区别
     双引号:可以解析变量的值
     单引号:不能解析变量的值

4.如果想在PATH变量中 追加一个路径写法如下:(重要!!!!)

    export PATH=$PATH:/需要添加的路径


         

4.3 预设变量:


 


 

 

 

 脚本变量的特殊用法

 


         

4.4 变量扩展: 是否存在,字符串操作

 

 


5.条件测试:

test命令有两种格式:
test condition 或[ condition ]
使用方括号时,要注意在条件两边加上空格。


         5.1 文件测试



         5.2 字符串测试

 2.测试:变量$yn中是否有空串。
 3. 输出:$? 命令返回状态:0表示没有
 

 5.输入:变量$yn
 6.测试:变量$yn是否有空串
 7.输出:$? 命令返回状态:1 表示有

 9.测试:变量$yn是否=“y”
10.输出:$? 命令返回状态:0表示不等
 


         5.3 数值测试



 

 

5.测试:两个变量 $data1 $data2是否相等
6. 输出:$? 命令返回状态:1 表示相等



         5.4 符合语句测试

 


6.控制语句


        6.1 if语句







 

 

           2.请输入:变量$yn
           3.如果变量$yn=="y"
           7.fi 结尾
 

 2.请输入:文件夹的名字
 4.if 判断为1: [ -e ] (文件目录是否存在)  then(关键字)
       5. 打印:
       6. 进入文件夹
       7. 打印:
       8. 创建文件
 9.if 判断为0 :else
 16.结束
 


        6.2 case

 2.输入变量:$choice
 3.case $choice变量 是 yes 或者 y* 或者 Y*
 5.打印:
 6.;;条件1结束
 7.
 8.打印:
 9.;;条件2结束
10.*)其它

 


        6.3 for


 

 


        6.4 while
 


        6.5 until


        6.6 break continue





 


7.函数

 

 

 

3.关键字 function  函数名 my_max() 
14.函数调用:
15.打印:

 

24_sh.sh 中调用 fun.sh
 

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu20.04是当前最新的Ubuntu操作系统版本。sh脚本是一种在Linux系统下执行指令的脚本编程工具,他具有简单易学,高效,可移植性强的特点,被广泛用于各类Linux系统的编程开发和系统管理工作。下面我们将探讨Ubuntu20.04 sh脚本以及它的应用。 Ubuntu20.04 sh脚本是可以自由编写,执行和调试的一种程序语言,它使用Bash或者其它Shell来解释运行实现。Ubuntu20.04 sh脚本可以完成各种任务,比如自动化运行一系列命令,批量安装软件,备份数据或日志等任务。简单来说,它是一种命令脚本语言,又称Shell脚本。 关于Ubuntu20.04 sh脚本的编写,它是以文本方式编写的,使用文本编辑器即可创建和编辑。它的编写语法类似于C语言。一个简单的例子: #!/bin/bash echo "This is a simple script for Ubuntu20.04" 这个Ubuntu20.04 sh脚本打印了一段文本信息,并以#!开头,指示系统使用Bash来解释它。这个脚本旨在向用户展示Ubuntu20.04的特性。 除了简单的打印信息外,Ubuntu20.04 sh脚本还可以实现复杂的操作,比如实现文件的复制、删除,自动化部署软件和服务等。它还可以实现自动安装软件和更新,通过运行一个脚本即可完成大量重复性的工作,提高了工作效率,减少了人为错误。 总之,Ubuntu20.04 sh脚本是一个非常有用的工具,它能够极大地简化Linux系统下一系列复杂的任务,同时还是一种非常灵活、高效和易于使用的编程工具。学会了制作Ubuntu20.04 sh脚本,能够极大地提高工作效率,减少工作难度,也许会给我们的Linux生涯带来更多的惊喜。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值