0

这是我今天早些时候发布的问题的更好的措辞和修改版本(从文本文件到 Bash 脚本的可用加载列表)。

目标:能够从domains.txt根据调用期间传递给 bash 脚本的参数从文件中加载特定列表。

文本文件列表结构/格式:

Monday_domains=( "google.com" "yahoo.com" .... "amazon.com" )
Tuesday_domains=( "google.com" "msn.com" .... "mozilla.com" )
Wednesday_domains= ( "abc.com" "cnbc.com" .... "NYtimes.com" )  

bash 文件:

#!/bin/bash

domain=$1  #arg passed
source domains.txt
if [ "$domain" = "1" ]; then
     domain_property="$Monday_domains"
elif [ "$domain" = "2" ]; then
     domain_property="$Monday_domains"
else
     domain_property="$Monday_domains"
fi
counter=0
for i in "${domain_property[@]}"
do
    echo "${domain_property[counter]}"
    grep "${domain_property[counter]}" domains.log
    let counter=counter+1
    echo "$counter"
done
echo "$counter"

该脚本没有传递所有属性(实际上只是传递了一个,因为它没有循环遍历文本文件中的列表),但我只是想演示我在寻找什么。是否可以根据传递的参数构造一个列表?列表将保留其结构很重要,因为其余代码都是针对它配置的。感谢您的任何意见,并抱歉重复发布....谢谢,

4

1 回答 1

2

如果要复制数组,则必须以正确的方式进行

$ foo=(a b c)

$ bar=( ${foo[*]} )

$ echo ${bar[1]}
b
于 2013-05-01T07:25:40.090 回答