2013-04-30 96 views
0

這是我今天早些時候發佈的問題(可用Load List From Text File To Bash Script)的一個更好的措辭和修改版本。加載列表(從幾個中的一個)從文本文件到Bash腳本

目標:能夠根據在調用期間傳遞給bash腳本的參數從domains.txt文件加載特定列表。

文本文件列表結構/格式:

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

猛砸文件:

#!/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" 

這個腳本沒有通過所有屬性(實際上剛過之一,因爲它通過沒有循環在文本文件中的列表),但我只是想展示我在找什麼。 是否可以根據傳遞的參數構造一個列表? 重要的是,該列表將保留它的結構,因爲其餘代碼都是針對它進行配置的。 我很欣賞你有任何輸入,併爲雙崗對不起.... 謝謝

回答

2

如果要複製一個數組,你必須做的正確方法

$ foo=(a b c) 

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

$ echo ${bar[1]} 
b 
+0

@Steven_Penny謝謝對於答案那些括號總是讓我。 快速問題,你知道是否有可能源多個文件?我找不到任何文件。 – 2013-05-01 23:41:21

+1

@Simply_Me作爲單獨的命令是http://github.com/svnpenn/dotfiles/blob/master/.bash_profile – 2013-05-02 00:26:04

相關問題