首页 > 系统相关 >shell脚本学习记录

shell脚本学习记录

时间:2023-08-23 12:11:37浏览次数:37  
标签:脚本 shell 变量 记录 sh num test

参考文章:https://blog.csdn.net/weixin_43288201/article/details/105643692

 

1.脚本必须有可执行权限

chmod +x test.sh   //给test.sh文件的所有组增加可执行权限,也可以根据数字增加 可读4、可写2、可执行1 如:chmod 755 test.sh

 2.脚本的调用形式 以及编写规范

    2.1脚本需要以  #!/bin/bash 开头,用来声明脚本用什么shell解释器解析,不写则是默认shell解析 默认解析路径为/bin/bash

    2.2脚本调用形式

          ./test.sh     //使用脚本第一行指定的解析器解析

          bash test.sh    //使用bash解析,不存在则使用默认解析器

          . test.sh   //直接使用默认解析器解析

 3.定义变量

  3.1变量名=变量值   num=10

     引用这个变量    $num

     设置成只读变量   readonly num=10

     清除变量    unset num

  3.2从键盘读取输入的值,read data1 data2

      读取之后引用 $data1

  3.3 查看环境变量   env

  3.4导出环境变量 export,使其设置为全局变量(shell脚本和命令行均可使用该变量)

    命令为:source testenv.sh 或者   . testenv.sh

   在其他脚本中使用全局变量

   3.5shell脚本中单引号、双引号、反引号

    单引号不能解析变量,会将$num当成字符处理

    双引号可以解析变量,会将$num当成变量处理

    反引号:反引号中的内容会作为系统命令识别并执行

 

  3.6 shell中无需自定义的变量,如图

   3.7变量是否存在

    ${num:-val}  如果num存在,则变量值为num.;否则为val

    ${num:=val}  如果num存在,则变量值为num.;否则为val,并将val的值赋值给num  

  3.8字符串操作

 4.条件测试

  4.1 test命令,格式为test condition 或者[ condition ]

 

 5.控制语句

 

 

   for循环语句

 

 6.函数

 

 

 

标签:脚本,shell,变量,记录,sh,num,test
From: https://www.cnblogs.com/hqsbrx/p/17631716.html

相关文章

  • RuoYi-vue配置记录
    如果这个项目能顺利运行,标志着Springboot+vue的前后端环境都配好了。一、官方文档若依官方文档:介绍|RuoYi,在这个地方克隆/下载项目源代码https://gitee.com/y_project/RuoYi-Vue解压到自己的目录下 首先根据官方文档的环境部署所说,检查一下自己的这些是否都满足要求了:J......
  • .net 记录http请求
    记录http请求环境.net7一、过滤器(Filter)这个过程用的的是操作过滤器(ActionFilter)二、2.1继承IAsyncActionFilter2.2重写OnActionExecutionAsyncOnActionExecutionAsync-在调用操作方法前调用OnActionExecutionAsync(ActionExecutingContext,ActionExecutionDele......
  • Vue+SpringBoot项目分离部署踩坑记录
    昨天花了一晚上终于成功部署了个人网站,在这个过程中踩了很多坑,现在回顾总结记录一下,以免今后继续犯错误前端:Vue后端:SpringBoot数据库:Mysql一、前端1、前端项目采用Nginx进行部署,其中Nginx配置文件部分内容如下nginx.conf部分内容1server{2listen443ssl......
  • webman:全局中间件:记录访问日志(v1.5.7)
    一,官方文档地址:https://www.workerman.net/doc/webman/middleware.html二,php代码1,配置中间件:config/middleware.php12345678910111213141516171819<?php/** *Thisfileispartofwebman. * *LicensedunderTheMITLicense......
  • Shell学习笔记
    #!/bin/bashecho"HelloWorld!"foriin$(ls/home);doecho$idonename='zpb'str="Areyou\"$name\"?"echo$str${#name}#转义字符、字符长度greeting='Areyou${name}?'echo$greetingecho${greeting:0:5}#提取字符串arra......
  • 记笔记背单词网站开发记录1
    我开发了一个网站,用于背单词和记笔记,已经开发并使用几年了,不过一直都是在本地部署使用。使用中间断断续续增加了一些功能,其中笔记就是后来加上的。这两个主要功能我已经使用了几年了,觉得还是有点用处的,趁着最近买了一个服务器,将其部署了起来,供大家测试使用。我介绍下具体的功......
  • Oracle脚本大全(Carlos-sierra)
    https://github.com/carlos-sierra/cscriptsCSScriptsInventorybyType(2023-07-29)LatencyLoadSQLPerformanceSPBL-SQLPlanBaselinesSPRF-SQLProfilesSPCH-SQLPatchesSessionsKillSessionsBlockedSessionsLocksSpaceReportingSpaceMaintena......
  • [DS记录] P3203 [HNOI2010] 弹飞绵羊
    (题目传送门)虽然是\(\rmLCT\)板子,但用来做分块入门如果没有修改操作,可以\(O(n)\)求出每个点的答案对于每个块里的点,预处理出它跳出这个块的步数,那么查询时就可以\(O(1)\)跳过这些块,查询的复杂度\(O(\sqrt{n})\)修改一个点时,也就是\(O(B)\)暴力修改即可令\(B=\sqrt{......
  • 模拟Linux文件管理员系统-shell实现
    目录模拟Linux文件管理员系统-shell实现1系统要求2脚本执行效果2.1管理员登录效果2.2普通用户登录效果2.3密码文件格式3实现脚本4密码文件5说明模拟Linux文件管理员系统-shell实现注:此脚本仅供学习使用,具体需要根据实际情况进行测试调整。1系统要求2脚本执行效果2......
  • linux脚本手动占用cpu核数
    希望启动一个脚本,能够指定占用的cpu核数#!/bin/bash#filenamekillcpu.shendless_loop(){echo-ne"i=0;whiletruedoi=i+100;i=100done"|/bin/bash&}if[$#!=1];thenecho"USAGE:$0<CPUs>"exit1;fiforiin`seq$1`doendless......