linux shell输出数字小数点前少了0_shell基础

本文介绍了Shell的基础知识,包括Shell的定义、脚本格式、变量及参数传递、逻辑判断、循环体等内容,并提供了实例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2cd7fac89a91069d0b7e0b405b98a808.png

写在最前,作为一名软件测试人员,shell基础也是必不可少的技能,就笔者遇到的工作场景中,在linux部署测试环境,查看错误信息,监控服务器性能都会用到shell语句,此外,不管是dockerfile,或者是自动化脚本都需要用到这块的技术,这篇文章一方面也是梳理一下比较杂乱的技能点,另一方面也是留个档,方面后面持续查看学习。本文主要梳理shell基础,详见正文。

    一、shell介绍

  shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到linux内核。它是一门弱类型的脚本语言。

二、shell脚本格式

shell脚本是以.sh结尾的文件,其中文件的第一行内容为#!/bin/bash,第一行的内容指定了shell脚本解释器的路径,而且这个指定路径只能放在文件的第一行。

43978607ad07a61e37440d08f1c4eea8.png

b3bccff95db4a3fa2cedf0de4e0034a9.png

三、shell变量及参数传递

变量定义及使用

shell变量的名称定义与其他变成语言一致,包括:

1. 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头;

2. 中间不能有空格,可以使用下划线,不能使用标点符号;

3. 不能使用bash里的关键字。

这里要特别注意的是:变量名和等号之间不能有空格,如下:

变量值输出:echo $变量名

变量释放:unset 变量      

案例如下:      a5b135579b64227636b26e691e7ca82a.png 

640

特殊变量定义:双引号、单引号、反单引号

  "" 双引号括起来的变量:会将其中的变量转变为实际值输出;

  ''  单引号括起来的变量:输入什么就是什么;

   `` 反单引号包含的内容:会作为shell命令执行,返回结果 。

640

样例如下:   7914114ddbdbb5f0f774f1ee14d84125.png参数传递

输入操作:read -p "提示信息" 变量名  5a479c4497e22c9f4ff998f91d61fae2.png

640

以文件形式接收参数:

$1--->传递第一个参数;

$n---->传递第n个参数;

$0:显示的是文件名称;

$@:显示所有的参数;

$#:显示的参数的个数。

样例如下:

脚本内容:     

    e8dbf50207b6fb2218adb3cf69269c06.png

输出内容:

       891e511b97ffeb564da667a61d640062.png

重定向

>覆盖,>>追加

案例如下:执行 >> 两遍追加,输入内容是追加的,如果是执行 > ,则会覆盖删除                    ea502e1c5cc25f8c4d6fab8d9d75173e.png   a4be04e424240cd07e7455b14e12b3e9.png

四、shell逻辑判断

分支结构

if分支

if...then...elif...then...else...fi分支,案例如下:

注意:[] 前后都需要有空格

38aa8e7aa18423d27684719faa91f6cc.png

case分支

第一行最后必须为in,每个执行语句以;;结束,最后以esac结束,如下:

    4ce568d4e421b97223b1fccc65ae4299.png

补充:    

逻辑运算符:01

-a :且

-o :或

 ! : 否

比较运算符:02

-eq:equal 相等 

-ne:not equal  不相等

-ge:greater equal 大于等于 

-gt:greater than  大于

-le:less equal 小于等于

-lt:less than  小于

 字符串比较:03

==  相等 

!=   不等

-z 判断字符串长度是否为0

-n 判断字符床是否为空

测试文件/目录状态 :

-d dir  判断是否为目录

-f  file  判断是否为文件

-e file  判断文件或目录是否存在

-w、-r 、-x 判断文件是否可写,可读、可执行

五、shell循环体

for循环

格式:

for 变量名 in 列表

do

       语句

done

案例如下:

   d3ba34ae9d47ac29b4d95b549133c00c.png

 其中:命令: seq start size max,可以生成一个指定起始、结尾、步长的列表

while循环

格式:

      while [ 条件 ]

  do 

    执行语句

  done

  案例如下:

  6bfaf409328beba9a099a2dcc263941a.png

六、shell函数

定义:函数名(){}

案例如下:

 b54154aea5cb54eddc139dc9962f6058.png

微软MVP组建的.Net社区

你加入了吗?

微软MVP:Eleven组建

国内首屈一指的.Net活跃社区

完整配套的学习资料

最新最热的技术文章

社区内优质岗位直推

全部免费奉送给大家

优质内容持续更新中

戳以下文章立即获取

???

禁止外传!社区内部VIP干货资料自取

(课程视频+面试题+技术专刊+岗位内推)

087a899a89025304ca753c8f797312d5.png

4a691bdd2de650a1bf5275d51376746f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值