[Linux服务器] linux:四则计算,i++,条件判断,流程控制(if,case,for,while,util),函数

60 0
Honkers 昨天 05:06 | 显示全部楼层 |阅读模式

 四则运算

算术运算:默认情况下,shell就只能支持简单的整数运算

运算内容:加(+)、减(-)、乘(*)、除(/)、求余数(%)

i++ 和++i

i++:先打印i,后进行加1操作

条件判断

格式

格式2 是格式1的简写模式'

判断条件的参数

①判断文件类型

示例

判断条件执行之后,会返回状态码用来判断命令是否成功执行。

$? 是一个特殊变量,它保存了上一个命令的退出状态码。返回0代表成功,返回非0数就是失败

②判断文件权限

示例

③判断文件新旧
说明:这里的新旧指的是文件的修改时间
nt 即 newer than ot 即 older than ef 即 equal file
④判断整数
⑤判断字符串

-z:zero

-n:nonzero

⑥多重条件判断

a  即 and

o 即 or 

第一条命令   [ 2 -eq 2 ]为真, 所以执行了&&后面的echo 'true',输出true

第二天命令 [ 2 -eq 1 ] 是假, 所以没有执行&&后面的 echo 'true' ,没有任何输出

类C风格的数值比较

使用类似于 C 语言中的条件表达式来进行数值比较。

注意:在(( ))中,=表示赋值;==表示判断          ; 只用于分割命令或表达式

流程控制语句

if 语句

示例
注: 写判断时,[  ]和[[ ]]  里面的判断条件需要和方括号有空格

read -p "请输入你的年龄" age:这行命令提示用户输入他们的年龄,并将输入的值存储在变量 age 中。-p 参数用于显示提示信息。

-p 即 "prompt" , 提示。这个参数用于指定一个字符串,该字符串将在读取输入之前显示给用户,作为提示信息。

执行:先赋予执行权限,再执行
      
注: 不是循环,命令只能执行一次,想要再次输入年龄测试,得再次执行shell文件

case语句

注:  case和esac;  if 和 fi ;结尾和开头倒过来写

for 循环

①列表循环
示例(控制台)
# for i in {起始值..结束值..步长};do echo $i;done 示例
# for i in $(seq 10);do echo $i;done seq 是一个生成数字序列的命令行工具"sequence"。它可以生成从指定的起始值到指定的结束值的数字序列,默认起始值和步长为 1
②不带列表循环
示例 (建shell文件)
给予执行权限 执行时传参(参数列表)

③类C风格的for循环

while 循环

特点:条件为真就进入循环;条件为假就退出循环

util 循环

特点:条件为假就进入循环;条件为真就退出循环 语法结构:

函数

shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数,给这段代码起个 名字称为函数名,后续可以直接调用该段代码的功能。
  1. source fuction.sh:

    这个命令用于在当前的 shell 会话中加载并执行 fuction.sh 脚本文件。这通常用于导入脚本中定义的函数或变量,使它们在当前会话中可用。
  2. get_sum 1 2 3:

    这个命令调用了 get_sum 函数,并传递了三个参数(1、2 和 3)。根据脚本的定义,这个函数应该计算这些参数的和。
  3. echo $?:

    这个命令用于显示上一个命令的退出状态。上一条命令计算了参数和的结果是6

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

特级红客

关注
  • 3392
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行