当前位置: 首页 > article >正文

shell编程--传参与数学运算

探讨一下如何向shell脚本传递参数。

脚本传参

首先用vim创建一个脚本。

vim 脚本.sh

可以理解为其他编程语言的标准输出,例如C语言的输出%d,表标准输出数字。

用echo 执行文件名称是:$0

echo 第一个参数是:$1

echo 传递参数作为字符串显示:$*

echo 传递参数独立作为每个字符串显示:$@

echo 传递到脚本的参数个数是:$#

echo 最后命令的退出状态:$?

echo 脚本运行的当前进程ID是:$$

可以向脚本传递多个参数,脚本中的$1 数字是可以递增的,$2 或 $3,其中$0比较特殊,表示脚本名称。

传参效果 


如何再shell编程中进行数学运算

shell运算

在shell中进行数学运算是很麻烦的

在shell中利用expr进行运算

难道是直接用expr 1+2这样运算吗? 答案是否定。因为在shell中加减运算数字要有空格

像这样 expr 1 + 2 才可以。

 

 那加减可以这样写,乘除怎么写呢?

我们知道在其他编程语言里面*号代表乘法,但是在shell里面需要用\做转义字符。

例如:

如果是除法有两种写法,一种是/取整,%取模(余数)

算数优先级

shell编程算数优先级和数学是一样的,先乘除后加减

 那我们需要先算加法怎么办?其他编程语言可以直接括起来,但是shell里面不可以直接括号,需要把括号转义。


声明!
学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec](https://space.bilibili.com/350329294) 


http://www.kler.cn/a/398064.html

相关文章:

  • 大数据-226 离线数仓 - Flume 优化配置 自定义拦截器 拦截原理 了 拦截器实现 Java
  • 《生成式 AI》课程 第3講 CODE TASK 任务3:自定义任务的机器人
  • IDEA leetcode插件代码模板配置,登录闪退解决
  • GitLab 降级安装出现 500 错误,如何解决?
  • 逆向攻防世界CTF系列37-crackme
  • Android Studio 控制台输出的中文显示乱码
  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-串行调用多个tools(三)
  • HTTP 协议及内外网划分详解
  • pdf的统计图表数据提取;图表转excel
  • 大模型(LLMs)进阶篇
  • 环境贴图选用方式
  • 【MyBatis源码】深入分析TypeHandler原理和源码
  • python实现十进制转换二进制,tkinter界面
  • C++ 数组与结构 编程练习
  • vscode报错:Connecting with SSH time-out.
  • [vulnhub] Chronos: 1
  • linux系统kkFileView 配置https预览文件
  • [Docker#10] network | 架构 | CRUD | 5种常见网络类型 (实验)
  • Git主干分支master开发优缺点
  • 从入门到精通:一文掌握 Dockerfile 的用法!(多阶段构建与缓存优化)
  • 基于STM32的智能停车管理系统设计
  • 基于Java的医院病历管理系统
  • 人工智能引发直播革命:AI 技术塑造无人直播全新体验
  • 【python】用 Scrapy 实现高效爬虫项目
  • Ubuntu24安装配置NDK
  • 《Redis内存淘汰策略及分布式锁应用详解》