编写 bash 脚本

Write a bash script

如何编写 bash 脚本来标记每个参数,如下所示:

$ bash argcnt.sh this is a "real live" test

  there are 5 arguments
  arg1: this
  arg2: is
  arg3: a
  arg4: real live
  arg5: test

因为无论我做什么都只算作 6 个参数

你走在正确的轨道上。在您的示例中, "real live" 被视为一个输入。它在变量 </code>.</p> 中 <pre><code>#!/bin/bash echo "there are $# arguments" echo "arg1: " echo "arg2: " echo "arg3: " echo "arg4: " echo "arg5: "

当您 运行 使用您的输入时,它应该会为您提供您声明的输出。

一方面,您尝试使用不同的格式,导致尺寸不正确。 this is a "real live" test

这是行不通的,因为您在几个词上使用了引号,将那个论点算作一个论点。

this is a real live test 可行,将每个单词计为不同的论点。

对于 2,您使代码变得过于复杂。您正在单独回显每个命令,而不是创建一个执行繁重工作的 for 循环。

echo "There are $# arguments"

$# 告诉您参数的数量。

i=1
for arg in $@;
do
    echo -e "arg$i: $arg\n"
    i+=1
done

这会创建一个循环,打印出每个给定的参数以及有多少个参数