从命令行读取数组的值

肖恩

对于我的家庭作业,如果磁盘空间低于某个阈值,我需要向指定的电子邮件地址发送电子邮件。但是,我在将电子邮件地址传递给变量时遇到问题。用户可以在命令提示符下指定任意数量的电子邮件地址。此外,如果它们不包含域,电子邮件仍应发送到“@uml.edu”地址。

我试图通过使用数组来解决用户输入未知数量的电子邮件地址的问题。我从未真正在 bash 中使用过数组,我想我可能使用了不正确的语法。

我不知道我是否一定需要使用数组来完成我正在做的事情,但它似乎最有意义。我尝试使用 for 循环来接受多个值,并且我使用 case 语句来处理用户是否包含电子邮件地址的域。

#!/bin/bash

email=()

for {{ x=0; $#<0; x++ ))

   do

      case $1 in

         *@*) email[x]="$1"
         shift ;;

         *) email[x]="${1}@uml.edu"
         shift ;;

      esac

   done

echo ${email[@]}

上面的代码基本上是一个测试用例,一旦我开始工作,我就会在我的主代码中工作。预期的结果是用户可以在命令行输入一个或多个电子邮件地址,然后通过 echo 命令显示它们。

约翰·库格曼

使用+=追加到一个数组,像这样:

array+=(foo bar baz)

这会让你摆脱x变量。您还可以循环遍历"$@"而无需shift争论。

for arg in "$@"; do
  case $arg in
    *@*) email+=("$arg");;
    *)   email+=("[email protected]");;
  esac
done

如有疑问,请引用您的变量扩展。

echo "${email[@]}"

case $arg in上面不需要它。但如果你在那里引用它也无妨。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从命令行读取

来自分类Dev

从命令行读取输入

来自分类Dev

从命令行参数读取的getchar

来自分类Dev

Python从命令行传递值

来自分类Dev

数组中的布尔值-Java中的函数,从命令行输入

来自分类Dev

从命令行读取忍者构建文件

来自分类Dev

从命令行读取Java系统属性

来自分类Dev

如何使用MPI程序从命令行读取参数?

来自分类Dev

从命令行参数读取文件错误

来自分类Dev

使用标志从命令行读取值

来自分类Dev

从命令行读取并使用sscanf转换为整数

来自分类Dev

使用“邮件”从命令行读取电子邮件

来自分类Dev

从命令行读取文件中的文件名

来自分类Dev

从命令行读取常量作为全局变量

来自分类Dev

使用vbscript从命令行读取输出数据

来自分类Dev

从命令行打印

来自分类Dev

从命令行打印

来自分类常见问题

Redis Spring Boot如何从命令行查看值

来自分类Dev

如何从命令行传递哈希值?

来自分类Dev

Redis Spring Boot如何从命令行查看值

来自分类Dev

从命令行处理PNG中的RGB值

来自分类Dev

如何从命令行发送 byte[] 意图额外值?

来自分类Dev

从命令行创建MongoDB用户

来自分类Dev

如何从命令行打开HUD。

来自分类Dev

PIP从命令行提高SyntaxError

来自分类Dev

从命令行关闭的问题

来自分类Dev

从命令行控制compiz缩放

来自分类Dev

如何从命令行打开SourceTree?

来自分类Dev

从命令行登录到Perforce