解释 bash 中数组长度的 ${#arrayname[@]} 语法?

2023-11-25

我知道可以通过以下方式获取 bash 中数组的长度${#arrayname[@]}.

我的问题是:这只是我必须记住的东西,还是可以将此语法分解为可以理解的部分?例如,什么是@符号意味着人们期望在哪里找到索引?为什么#?


#在变量引用的开头意味着获取变量值的长度。对于普通变量,这意味着它的字符长度。#是“数字”符号,因此您可以记住它的意思是“变量中的事物的数量”。

@ or *在数组中索引意味着使用整个数组,而不是特定元素,并且它不返回字符数,而是返回数组元素的数量。*在许多情况下用作通配符,因此这应该很容易记住。还,$* and $@用于表示 shell 脚本的所有参数,因此与所有数组元素的相似之处应该是显而易见的。

你不能只写${#arrayname}因为当你使用没有下标的数组变量时,它相当于元素0数组的。所以${#arrayname}是相同的${#arrayname[0]},这是数组第一个元素中的字符数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解释 bash 中数组长度的 ${#arrayname[@]} 语法? 的相关文章

  • 检查 Git 中是否需要 pull

    如何检查远程存储库是否已更改并且需要拉取 现在我使用这个简单的脚本 git pull dry run grep q v Already up to date changed 1 但它比较重 有没有更好的办法 理想的解决方案是检查所有远程分支
  • QByteArray 到整数

    正如您可能从标题中看出的那样 我在转换QByteArray为一个整数 QByteArray buffer server gt read 8192 QByteArray q size buffer mid 0 2 int size q siz
  • PHP 数组到 JavaScript 数组

    假设我在 php 中有这个数组 cities array Caracas gt array air gt array 4 3 5 Working Days Saturday sea gt array 18 3 5 Days Wednesda
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 从给定的项目列表创建子列表

    我首先要说的是以下问题不是为了家庭作业目的即使因为我几个月前就完成了软件工程师的工作 无论如何 今天我正在工作 一位朋友向我询问了这个奇怪的排序问题 我有一个包含 1000 行的列表 每行代表一个数字 我想创建 10 个子列表 每个子列表都
  • 递归获取数组的键并创建下划线分隔的字符串

    现在我得到了一个包含某种信息的数组 我需要从中创建一个表 例如 Student Address StreetAddress gt Some Street StreetName gt Some Name Marks1 gt 100 Marks
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • 在 VB.Net 中将字节数组转换为整数

    我想知道在 vb net 中将字节数组 长度 4 转换为整数的最佳方法是什么 我知道 BitConverter 但执行函数调用来执行应该可以通过复制 4 字节内存来完成的操作似乎相当浪费 同样 将单 双精度数从二进制表示形式转换为单 双精度
  • 如何检查主机是否在您的known_host ssh中

    我的脚本中使用以下命令 将主机添加到 ssh 中的已知主机 VAR2 expect c spawn ssh o StrictHostKeyChecking no REMOTE HOST USER REMOTE HOST IP expect
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • Repa 数组上的并行 mapM

    在我最近的work https github com bgamari mixture model with Gibbs sampling 我一直在充分利用RVar http hackage haskell org packages arch
  • “%”(百分比)在 PowerShell 中起什么作用?

    操作似乎在管道之后启动脚本块 尽管about Script Blocks http technet microsoft com en us library hh847893 aspx表示 不是必需的 这些都工作得很好 get childit
  • 测试 bash shell 脚本[重复]

    这个问题在这里已经有答案了 有人可以解释一下如何测试 bash shell 脚本吗 例如 我有一个 sh 文件 其中包含此代码 bin sh for file in txt do mv file basename file txt doc
  • PHP CSV VLookup

    我正在寻找一个 PHP 函数 它可以读取 CSV 文件并在第 1 列上执行 vlookup 以回显第 2 列中同一行的相关值 例如 如果 CSV 包含 Name Email John j email protected cdn cgi l
  • 如何wget目录中最新的文件

    我想编写一个 bash 脚本来下载并安装最新的每日构建程序 RStudio 是否有可能使wget仅下载目录中最新的文件http www rstudio org download daily desktop http www rstudio
  • 使用 cout 打印字符数组的全部内容

    我对 C 很陌生 只是 Java 的背景不太好 并且对如何打印 char 数组的全部内容感到困惑 我相信我需要使用循环 并将循环基于数组的长度 但我的编译尝试没有成功 这就是我现在所拥有的 在此先感谢您的帮助 include
  • 数组到集合:优化代码

    有更好的方法来实现这一目标吗 public static List
  • Python 将 *args 转换为列表

    这就是我正在寻找的 def init self args list of args magic Parent init self list of args 我需要将 args 传递给单个数组 以便 MyClass init a b c Pa
  • Razor 语法在 UI 标记方面是否提供了令人信服的优势?

    我注意到斯科特 格思里开始提及剃须刀 http weblogs asp net scottgu archive 2010 07 02 introducing razor aspx a fair bit http weblogs asp ne

随机推荐

  • 使用 jQuery 通过 id 列表获取多个元素

    我的 html 中有这个
  • 使用 jUnit 在 Eclipse 中发生异常时中断

    有没有办法让 Eclipse 在 jUnit 调试模式下因未捕获的异常而中断 执行 main 时 Eclipse 崩溃 有我可以使用的命令行开关吗 Thanks 从调试的角度来看 您可以准确过滤您感兴趣的异常 在断点视图中有一个 J 按钮
  • 用于在 Chrome 中设置 HTML5 日期输入日历样式的 CSS

    有没有办法设置单击 html5 日期输入上的向下箭头时弹出的日历的样式
  • 检查sqlalchemy表是否为空

    我需要知道任何给定的 sqlalchemy 表 sqlalchemy schema Table 是否恰好有 0 行 我有很多表 每个表都有很多行 并且必须在启动时为所有表运行 因此我正在寻找从运行时角度来看最有效的方法 所以 仅仅进行计数并
  • 使用 MongoDB 的 C# 驱动程序进行多字段查询

    我无法弄清楚我想要完成的任务的语法 如前所述 我正在使用 MongoDB 的 C 驱动程序 我有一个用户实体定义为 BsonIgnoreExtraElements public class User MongoEntity BsonElem
  • 仅使用curl获取google Oauth2访问令牌

    我想使用以下方式将 pdf 文件上传到 Google Drivecurl 用于自动化测试目的 我已经在 Google Cloud Platform 上创建了一个帐户 获取了客户端 ID 和 Secret 并启用了 Google Drive
  • NotificationCompat android - 如何仅显示大图标而不显示小图标

    当我添加通知时 NotificationCompat Builder mBuilder new NotificationCompat Builder this setSmallIcon R drawable plus setContentT
  • 不变是什么意思?

    到底是做什么的不可变的意思是 也就是说 对象可变或不可变会产生什么后果 特别是 为什么 Java 的String是不可变的吗 我的理解是StringBuilder类型类似于可变的等价物String 我什么时候用StringBuilder而不
  • 使引导弹出窗口重叠

    我的问题是我正在使用引导弹出窗口来显示图像 使用悬停作为触发器 同时我正在使用平滑滚动 http www smoothdivscroll com quickdemo 但问题是 弹出窗口的那部分是隐藏的 Example https dzwon
  • MySQL数据库中如何存储日期?

    我有约会在dd mm yyyy格式 如果我想以后对其进行一些操作 如何将其存储在数据库中 例如 我必须找出行 其中date gt something 我必须设置什么类型date field 要在 MySQL 中存储日期或时间 请使用date
  • 使用 2 个不同的变量进行排序和填充 geom_bar ggplot2 R

    我有一个关于填写字段的问题geom barggplot2 包的 我想用一个变量填充我的 geom bar 在下一个示例中 该变量称为var fill 但订购geom plot与另一个变量 称为clarity在示例中 我怎样才能做到这一点 非
  • iOS 8 中的 shouldAutorotate 行为

    我发现 7 1 和 8 之间有一个小的行为变化UIViewController shouldAutorotate方法 苹果查看控制器编程指南指出在执行任何自动旋转之前调用此方法 但是我注意到 当我简单地禁用 shouldAutorotate
  • 与主管一起运行 celeryd_multi

    我正在与 djcelery 和主管一起工作 我正在与主管一起运行芹菜 一切正常 一旦我意识到我需要将其更改为芹菜多 一切都崩溃了 如果我在终端中运行 celeryd multi 它可以工作 但总是在后台运行 就像主管需要在出现问题的前台运行
  • 在 CustomUIView 中重写 init() 会导致应用程序崩溃(EXC_BAD ACCESS)

    我正在尝试在 Swift 中子类化 UIView 然而 当调用初始化程序时 应用程序崩溃 EXC BAD ACCESS 这是班级 class CustomActionSheet UIView private var cancelButton
  • 如何使用 Selenium WebDriver 获取所有链接并一一单击这些链接

    我正在使用 Selenium WebDriver 和 java 我正在从网页中获取所有链接并尝试一一单击每个链接 我收到以下错误 错误 org openqa selenium StaleElementReferenceException 在
  • 分而治之,动态规划和贪心算法!

    当我遇到最优子结构的问题并且没有子问题共享子子问题时 我可以使用分治算法来解决它吗 但是当子问题共享子子问题 重叠子问题 时 我可以使用动态规划来解决问题吗 它是否正确 贪心算法与动态规划有何相似之处 当我遇到最优问题时 子结构且无子问题股
  • 如何在 RxJava 中处理 onError。我收到“OnErrorNotImplementedException”

    在我的应用程序中 我使用 ReactiveLocationProvider 库 link 我在 onCreate 方法中订阅更新 当设备在线时它工作正常 但如果我关闭 WiFi 并等待下一个后台位置更新设备 则会出现 OnErrorNotI
  • 尝试让 log4net 与 PowerShell 一起工作(混合使用 log4net 配置文件)

    我一直在努力让 log4net 与 PowerShell 一起使用 我有以下 PowerShell 代码 它使用配置文件拉入 log4net 然后尝试创建一个简单的日志文件条目 但出现错误 Clear History Clear Host
  • 如何在 Gitlab CI 中使用 Dockerfile

    将 gitlab ci 用于我的节点 反应应用程序 我正在尝试使用phusion passenger nodejs作为基础 docker 镜像 我可以在 gitlab ci yml 中轻松指定这一点 image phusion passen
  • 解释 bash 中数组长度的 ${#arrayname[@]} 语法?

    我知道可以通过以下方式获取 bash 中数组的长度 arrayname 我的问题是 这只是我必须记住的东西 还是可以将此语法分解为可以理解的部分 例如 什么是 符号意味着人们期望在哪里找到索引 为什么 在变量引用的开头意味着获取变量值的长度