【问题标题】:bash program read arraybash程序读取数组
【发布时间】:2013-09-11 07:17:53
【问题描述】:

我正在尝试运行一个 bash 程序,它需要几个命令行输入名称,然后将一个数组作为命令行输入。

即,

#!/bin/bash
name1=$1
name2=$2
my_array_input=("dog" "cat" "lion")

在这个例子中,我有 name1 和 name2 作为输入,并且 my_array_input 在脚本中被声明和设置。

在我的真实脚本中,我还希望 name1 和 name2 作为 $1 和 $2,但我也希望能够从用户那里获取一个(未知大小/可变大小)my_array_input。用户可以输入不同长度的数组,并根据自己的意愿输入动物的名字......

请注意,所有输入都应该是命令行输入。

有没有使用 bash 脚本来做到这一点的技巧?

谢谢!

【问题讨论】:

    标签: arrays linux bash


    【解决方案1】:

    Bash 脚本(或类 Unix 操作系统中的任何程序)的参数只是一个字符串列表,因此无法完全按照您的描述进行

    但是,您可以将name1 设置为第一个参数,将name2 设置为第二个参数,并将my_array_input 设置为所有后续 参数:

    #!/bin/bash
    name1="$1"
    name2="$2"
    my_array_input=("${@:3}")
    

    如果上述脚本的参数是foo bar dog cat lion,那么name1 将是fooname2 将是barmy_array_input 将是数组(dog cat lion)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-27
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多