如何使用循环从文本文件中获取行作为参数

How can I take lines from a text file as an argument using a loop

如果我有一个名为 inventory.txt 的文本文件,如下所示:

america 
mexico 
england

如果我 运行 这段代码,america

只需要 运行 秒
 while read line;
    do 
        while getopts "U:D:" opt;
        do
            case $opt in
                U)
                    SOURCE=$OPTARG
                    echo "SOURCE : $SOURCE"     
                    SITEID=$line
                    echo "SITE : $SITEID " >&2
                    ;;

                D)
                    DEST=$OPTARG
                    echo "DESTINATION : $DEST" >&2  
                    ;; 
            esac

        done

done < inventory.txt

如何对我的文本文件中的所有行执行此操作?

首先解析参数,然后再通过你的文件:

while getopts "U:D:" opt;
do
    case $opt in
        U)
            SOURCE=$OPTARG
            ;;

        D)
            DEST=$OPTARG
            ;; 
    esac
done


while read line;
do 
    echo "SOURCE : $SOURCE"     
    SITEID=$line
    echo "SITE : $SITEID " >&2
    echo "DESTINATION : $DEST" >&2  
done < inventory.txt