shell脚本

2021/9/3 7:06:19

本文主要是介绍shell脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

因为linux无法同时进行多个指令,所有通过shell作为桥梁(后缀为sh的文件)

  头部注释为#!/bin/sh或者#!/bin/bash(注释可写可不写,建议写上)

  可以通过sh或者bash命名来执行           ./文件名.sh(必须在当前目录下且文件是可执行文件)

 

变量(动态数据类型,没有数据类型的限制,并且必须初始化) 

  只有一个数据类型String,整数其实也是字符串  (所有等号后面可以加引号也可以不加)

  (等号两边不能有空格)  输出20sdsfsf

  ${变量}    ${}表示值引用{}之中的内容分,对相连的内容做了一个区分(后面字符串的拼接截取等等)

 

$0...$n:表示接收外部参数(执行脚本时,传递的参数)

  $0永远表示脚本名称(所以脚本名称不算数,$0也不算第一个参数)
  下标大于一位数只能使用${}获取参数,因为$下标只把第一位数据看做下标
  $*获取所有参数
  $#获取所有参数个数

           $10 是$1 和 0 的拼接

 

 

 

获取长度: ${#变量}

截取:   ${变量:开始位置:长度}          ${str::5}:从0获取5个   ${str:0}:从0获取到末尾

替换: ${变量/旧/新}     替换所有:${变量//旧/新}

       

 

删除:

  从头开始删除
    ${变量#表达式}:匹配第一个删除
    ${变量##表达式}:匹配最后一个删除
  从尾开始删除
    ${变量%表达式}:匹配第一个删除
    ${变量%%表达式}:匹配最后一个删除
    注意:从未开始删除,表达式还是从左向右去写  删除不会再原字符上进行修改,想要修改原字符串只能从新赋值

 

算数运算符

  bash不支持简单的数学运算,可以通过命令实现expr(只 支持整数)

    $[值+值]              `expr 值 + 值`           注意:符号两边需要加上空格,使用乘*需要加 \ 来转义

       

比较运算符: > < >= <=....

  $[值符号值](符号两边空格加不加无所谓)  结果true(1)和false(0)

      

 逻辑运算符: &/and |/or !/not

       

 

 

 if 

  if 判断条件
  then
    判断为true执行的代码
  elif 判断条件
  then
    判断为true执行的代码
    。。。
  else
    判断为false执行的代码
  fi
  注意:else可加可不加

判断条件的写法
[]:[]两边加空格,符号两边加空格并且符号前加转义符
可以使用字母
[[]]:[[]]两边加空格,符号两边加空格
可以使用字母
():弃用
(()):不需要加空格,但是不能使用字母
在使用变量时,不需要使用$

         right

 

for:  

java格式:
for ((初始化变量;判断条件;控制语句))    两个括号
do
执行语句
done

     使用let在计算时可以直接使用变量

python格式:
for 变量 in 结果集
do
执行语句
done

 

 

结果集:
{开始..结束}含头含尾,不能引用变量
`seq 开始 结束`含头含尾

 

 

 数组:存储多个元素,数据类型可以不同,元素元素之间以空格切分

    ${数组[下标]}     直接引用数组变量,默认获取下标为0的元素下标使用*表示获取所有

    获取长度:       ${#数组[*]}

      

 

 read:键盘录入:read 变量1 变量2 ...变量n

  键盘录入时,允许给多个变量进行赋值,值和值之间以空格切分

 

 

  

 

 

  

 

 

 

 

 

 

  



这篇关于shell脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程