linux - 对(第一个+后续)参数对进行操作

标签 linux bash shell

<分区>

我有一个脚本,它的第一个参数是一个对象的标识符,每个后续参数都将与之进行比较。

我知道如何使用 $1$2 等来引用各个参数,但我如何存储第一个参数的值然后遍历所有内容 < em>但是第一个?

最佳答案

这个问题的答案是对 Iterate through parameters skipping the first 的简单扩展(唯一的区别是在丢弃第一个参数之前需要存储它)。

使用 shift 从列表中弹出一个参数,以便您可以迭代其余部分。因此:

#!/usr/bin/env bash
first=$1; shift || exit
for arg; do
  echo "Using first argument $first with additional argument $arg"
done

如果您使用 ./theScript argA argB argC 运行此脚本,您将获得以下输出:

Using first argument argA with additional argument argB
Using first argument argA with additional argument argC

...据我所知,这是您要求的行为。

关于linux - 对(第一个+后续)参数对进行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45966155/

相关文章:

python - 将输入传递给 shell 脚本调用的 python 脚本

bash - 如何使用带有 shell 函数的 git 别名来构建提交消息

bash - Unix shell 之间的可移植性——我对这个问题的思考是否正确?

linux - OpenVZ 不会创建容器错误 "invalid value for DISKINODES"

c - 为什么系统调用 signal() 不调用处理程序?

linux - 使用 objdump 查找目标文件的偏移量

swift - OS X。如何使用参数运行控制台应用程序?

linux - Laravel 无法使用权​​限 775 写入/存储 - Amazon AWS Linux

linux - 在 linux 中删除包含符号链接(symbolic link)的目录

linux - 为什么在第一个脚本之后没有触发第二个 shell 脚本 (nohup)?