shell中变量自增的实现方法

2023-11-03

Linux Shell中写循环时,常常要用到变量的自增,现在总结一下整型变量自增的方法。
我所知道的,bash中,目前有五种方法:
1. i=`expr $i + 1`;
2. let i+=1;
3. ((i++));
4. i=$[$i+1];
5. i=$(( $i + 1 ))
可以实践一下,简单的实例如下:
#!/bin/bash
i=0;
while [ $i -lt 4 ];
do
   echo $i;
   i=`expr $i + 1`;
   # let i+=1;
   # ((i++));
   # i=$[$i+1];
   # i=$(( $i + 1 ))
done


另外,对于固定次数的循环,可以通过seq命令来实现,就不需要变量的自增了;实例如下:
#!/bin/bash
for j in $(seq 1 5)
do
  echo $j
done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell中变量自增的实现方法 的相关文章

  • 使用 awk 读取文件并搜索另一个文件

    我正在读取一个文件 每行都有数字 我需要搜索另一个满足这些数字和其他条件的文件 我正在尝试使用 awk 来做到这一点 但遇到了问题 File a txt 1476 1477 1497 现在我需要打印第 12 列包含这些数字的行以及第 3 列
  • 使用正则表达式模式查找 -name 并使用 cp 替换文件名

    目前我正在使用该命令cron复制 data从源到目标路径 find source path name data exec cp target path 源码结构为 source path category1 001 data source
  • 分叉/多线程进程|重击

    我想让我的代码的一部分更加高效 我正在考虑让它分叉成多个进程 并让它们一次执行 50 100 次 而不是只执行一次 例如 伪 for line in file do foo foo2 foo3 done 我希望这个 for 循环运行多次 我
  • 是否可以创建一个脚本来保存和恢复权限?

    我正在使用 Linux 系统 需要对一组嵌套文件和目录进行一些权限实验 我想知道是否没有某种方法可以保存文件和目录的权限 而不保存文件本身 换句话说 我想保存权限 编辑一些文件 调整一些权限 然后将权限恢复到目录结构中 将更改的文件保留在适
  • 如何使用 sed 将空格替换为 \(space)?

    当我使用 sed 将所有空格替换为 X 时 该命令有效 命令为 sed s X g filelist tmp 但是 当我尝试用 space 替换所有出现的空格时 代码是 sed s g filelist tmp 这不起作用 我究竟做错了什么
  • bash循环跳过注释行

    我正在循环文件中的行 我只需要跳过以 开头的行 我怎么做 bin sh while read line do if line doesn t start with then echo line fi done lt tmp myfile 谢
  • Bash 脚本监听按键以继续

    因此 我想编写一个由一系列步骤组成的 bash 脚本 并将其标识为 task 然而 每个步骤都只能完成并且可以根据用户的需要运行 Do task1 if keypressed stop task1 and move on this is t
  • 无需 root 访问权限即可安装 zsh? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有可能 以及如何 我确实需要在几台具有 ssh 访问权限 但没有 root 访问权限 的远程计算机上使用此功能 下载 zsh wget O zsh t
  • sh read 命令会吃掉输入中的反斜杠吗?

    也许最容易用一个例子来解释 echo echo while read in do echo in done 看来read命令将输入 中的反斜杠解释为转义符并删除它们 我需要逐行处理文件而不更改其内容 并且我不知道如何停止在这里智能读取 有任
  • 为什么 shell=True 的 subprocess.Popen() 在 Linux 和 Windows 上的工作方式不同?

    使用时subprocess Popen args shell True 跑步 gcc version 仅作为示例 在 Windows 上我们得到 gt gt gt from subprocess import Popen gt gt gt
  • 比较linux中的两个未排序列表,列出第二个文件中的唯一项

    我有 2 个包含号码列表 电话号码 的文件 我正在寻找一种列出第二个文件中第一个文件中不存在的数字的方法 我尝试过各种方法 comm getting some weird sorting errors fgrep v x f second
  • Grep 递归和计数

    需要在具有大量子目录的目录中搜索文件内的字符串 我在用着 grep c r string here 我怎样才能找到总数量 如何仅输出至少具有一个实例的文件 使用 Bash 的进程替换 这给出了我认为是您想要的输出 如果不是 请澄清问题 gr
  • 带有二进制数据的 Bash echo 命令?

    有人可以解释一下为什么这个脚本有时只返回十六进制字符串表示形式的 15 个字节吗 for i in 1 10 do API IV openssl rand 16 API IV HEX echo n API IV od vt x1 w16 a
  • 在 Shell 中提取匹配模式后的字符串

    如何提取 Shell 脚本中匹配模式后面的任何字符串 我知道 Perl 脚本中的此功能 但不知道 Shell 脚本中的功能 以下是示例 subject 01 这是一个示例主题 可能会有所不同 我必须提取 Subject 01 后面的任何字符
  • Bash 的源命令无法处理从互联网上卷曲的文件

    我正在尝试使用curl从互联网获取脚本文件 如下所示 source lt curl url echo done 我看到的是 完成 得到了回响before卷曲甚至开始下载文件 这是实际的命令和输出 bash 3 2 source lt cur
  • 在 Django shell 会话期间获取 SQL 查询计数

    有没有办法打印 Django ORM 在 Django shell 会话期间执行的原始 SQL 查询的数量 Django 调试工具栏已经提供了此类信息 例如 5 QUERIES in 5 83MS但如何从 shell 中获取它并不明显 您可
  • 批量检测系统是32位还是64位

    有谁知道如何创建一个批处理文件 如果是 64 位系统 可以对一个程序进行 shell 处理 如果是 32 位系统 则可以对另一个程序进行 shell 处理 检查 PROCESSOR ARCHITECTURE being x86 if PRO
  • 如何将输出重定向到文件,如果文件不存在则不创建它?

    我需要将输出重定向到一个文件 gt 在 shell 中 但如果该文件尚不存在 则不应创建该文件 如何实现这一目标 我尝试创建文件的符号链接并重定向到符号链接 但不幸的是 如果文件尚不存在 无论如何都会创建文件 也许我需要重定向到一个单独的程
  • 是否可以从应用程序执行 ADB shell 命令?

    我有一个安卓电脑 http www timingpower com rk3288 with root 开箱即用 连接到始终以横向显示的外部显示器 HDMI 和 USB 即使我的应用程序在清单中的活动声明中指定纵向 android scree
  • 如何隐藏显示终端命令输出

    当我运行这个命令时 sudo htpasswd b home reynolds htpasswd admin admin 我正在得到输出Updating password for user admin在终端中 但我不想显示该输出 所以我在谷

随机推荐

  • Qt 实现按分钟更新显示当前时间

    以下方法分享按分钟更新时间 希望对大家有帮助 QTimer timer new QTimer this timer gt setSingleShot true connect timer SIGNAL timeout this SLOT u
  • npm未能加载Visual C++组件,解决办法win10

    错误提示如下 以管理员身份运行 Windows PowerShell npm install global production windows build tools npm install g node gyp
  • i2c-tools-v3.1.2移植

    1 工具 2 放到linux中解压 3 配置Makefile 4 make 成功后会在tools目录下生成 i2cdetect i2cdump i2cget i2cset等工具 5 将i2cdetect放到终端
  • postgresql 操作查询jsonb数据

    1 操作键值对 PostgreSQL 对 jsonb 类型的筛选查询可以使用 gt 或者 gt gt 操作符 gt 操作符用于通过 JSON 对象中的键来获取对应的值 gt gt 操作符可以将获取到的值转化为字符串类型 例如 下面是一个包含
  • UI自动化测试定位元素工具--Weditor

    Weditor 前置条件 1 安装Pycharm 2 终端中输入 pip install weditor安装weditor 使用方法 weditor启动 python m weditor 连接设备成功后 可以看到入下图 主要有5个区域 红色
  • nth_element详解

    nth element 是c 的STL库中的函数 作用是将数组中第k小的整数放在区间第k个位置 比如a 6 2 5 6 4 7 8 使用nth element a a 3 a 6 后 区间中第四个数 也就是a 3 会被放入数组中第四小的数
  • 创建本地docker镜像仓库并push和pull

    解决如何在服务器上 或本地 创建docker镜像仓库并push镜像到本地仓库 然后从其他机器上pull本地仓库镜像 1 启动镜像registry 2 docker run d p 5000 5000 restart always name
  • 基于Dockerfile构建LNMP环境(php7+mysql+nginx) --原创

    构建LNMP环境 php7 mysql nginx 原创 经几个星期反复测试总结出了整个lnmp环境的Dockerfile文件 并已经适用于公司开发环境中 centOS7 4 1708 tengine 2 1 2 php 7 0 17 PH
  • 对华为招聘人才的一点看法

    导读 首先 华为招聘搞的是海笔和海面 所以场面很混乱 华为不刷简历 不刷笔试 我真不明白 对于这个 我们可以给两个理由去解释 第一 就是华为仅仅是通过自己的校园招聘去宣传华为 我知道去年华为来天津的学校招聘 第一次来时 我们学校的人一个都没
  • 与甲方的项目软件服务合同参考模板--PM所需

    编号 此处换XX公司LOGO 国内领先APP开发服务商 技 术 开 发 购 销 合 同 甲 方 地 址 电话 传真 邮 箱 项目联系人1 电话 微信 项目联系人2 电话 微信 乙 方 XX科技有限公司 地 址 电话 传真
  • Spring多定时任务@Scheduled执行阻塞问题

    一 问题描述 最近项目中发现一个问题 计划每日凌晨4 40执行一个定时任务 使用注解方式 Scheduled cron 0 40 4 cron表达式明显没有问题 但是这个定时任务总是不按时执行 有时候得等到8点多 有时候9点多才执行 后来查
  • Spring框架(三):SpringBoot框架(由浅入深,深度解读)

    优雅的SpringBoot框架 一 入门 1 简介 Spring Boot是一个简化Spring开发的框架 用来监护spring应用开发 约定大于配置 去繁就简 just run 就能创建一个独立的 产品级的应用 我们在使用Spring B
  • 8个技巧让设计师和程序员好好沟通起来

    优秀外文翻译 第54弹 设计师和程序员在构建产品时扮演着截然不同的角色 设计师通常专注于图形和界面功能 比如菜单布局和配色方案 程序员负责处理能让产品运作的 幕后 工作 通常涉及代码 所以 设计师和程序员之间存在断层也正常 有时候 只有在设
  • 关键词识别

    Transformer 架构在许多领域都取得了成功 包括自然语言处理 计算机视觉和语音识别 在关键字发现中 自我注意主要用于卷积或循环编码器之上 我们研究了一系列使 Transformer 架构适应关键字发现的方法 并引入了 Keyword
  • Base64系列第四篇 C/C++中使用Base64编码解码(从chromium库中抽取)

    本系列一共四篇 1 Base64系列第一篇 Base64介绍 2 Base64系列第二篇 python中使用Base64编码解码 3 Base64系列第三篇 C C 中使用Base64编码解码 使用boost库 4 Base64系列第四篇
  • python join_Python join()方法:合并字符串

    join 方法也是非常重要的字符串方法 它是 split 方法的逆方法 用来将列表 或元组 中包含的多个字符串连接成一个字符串 想详细了解 split 方法的读者 可阅读 Python split 方法 一节 使用 join 方法合并字符串
  • WCF Service 的创建,测试,发布与使用示例

    WCF Service 的创建 测试 发布与使用示例 一 WCF Service 的创建 WCF Service Application 注 为了在 IIS 或 WAS 中托管 则必须使用 WCF Service Application 类
  • Kali安装zmap简单介绍

    zmap是一个非常方便的扫描器 跟nmap和masscan一样 不过区别在于zmap他快 号称是一小时扫遍整个互联网 主要使用方式是TCP SYN scan TCP connectscan UDP scan No Ping scan等 下面
  • 【MySQL基础】9—MySQL数据类型

    Github主页 https github com A BigTree 笔记链接 https github com A BigTree Code Learning 如果可以 麻烦各位看官顺手点个star 如果文章对你有所帮助 可以点赞 收藏
  • shell中变量自增的实现方法

    Linux Shell中写循环时 常常要用到变量的自增 现在总结一下整型变量自增的方法 我所知道的 bash中 目前有五种方法 1 i expr i 1 2 let i 1 3 i 4 i i 1 5 i i 1 可以实践一下 简单的实例如