这是我今天早些时候发布的问题的更好的措辞和修改版本(从文本文件到 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"
该脚本没有传递所有属性(实际上只是传递了一个,因为它没有循环遍历文本文件中的列表),但我只是想演示我在寻找什么。是否可以根据传递的参数构造一个列表?列表将保留其结构很重要,因为其余代码都是针对它配置的。感谢您的任何意见,并抱歉重复发布....谢谢,