编写 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
这会创建一个循环,打印出每个给定的参数以及有多少个参数
如何编写 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
这会创建一个循环,打印出每个给定的参数以及有多少个参数