Shell 脚本 - 我想遍历第二个参数到最后一个参数

发布于 2024-11-15 14:22:52 字数 100 浏览 0 评论 0原文

如何遍历第二个参数到最后一个参数 喜欢:

for arg in $2-$@
do
  echo $i
done

请帮忙

How can I traverse through 2nd argument to last argument
like:

for arg in $2-$@
do
  echo $i
done

Please help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

赴月观长安 2024-11-22 14:22:52

实际上,不要相信这些参数...它们可能包含空格或 shell 的其他特殊元字符。双引号是 shell 脚本中的好朋友。

shift;           #eat $1
for arg in "$@"
do
  echo "$arg"
done

当放入双引号时,“$@”具有特殊的魔力以确保保留单词。比 $* 好得多。 “$*”将立即处理所有参数。

双引号不是完美的解决方案,只是最好的简单解决方案。

Actually, don't trust the arguments... they may contain spaces, or other special meta characters to the shell. Double quotes are your friends in shell scripts.

shift;           #eat $1
for arg in "$@"
do
  echo "$arg"
done

When put in double quotes the "$@" takes on special magic to assure words are retained. Much better then $*. "$*" would process all arguments at once.

Double quotes are not a perfect solution, just the best easy one.

暮凉 2024-11-22 14:22:52

bash 中使用 shift

shift
for arg in $@
do
  echo $arg
done

Use shift in bash.

shift
for arg in $@
do
  echo $arg
done
抱着落日 2024-11-22 14:22:52
args=("$@")

for arg in $(seq 2 `expr $# - 1`)
do
  echo ${args[$arg]}
done
args=("$@")

for arg in $(seq 2 `expr $# - 1`)
do
  echo ${args[$arg]}
done
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文