Читайте последнюю строку файла в скрипте bash при чтении файла построчно

Я пишу сценарий для чтения команд из файла и выполнения определенной команды. Я хочу, чтобы мой сценарий работал либо для отдельных входных аргументов, либо когда аргумент является именем файла, содержащим рассматриваемые аргументы.

Мой код ниже работает за исключением одной проблемы, он игнорирует последнюю строку файла. Итак, если файл был следующим.

file.txt

file1
file2

Приведенный ниже скрипт запускает только команду для file.txt

for currentJob in "$@"
do
    if [[ "$currentJob" != *.* ]]  #single file input arg
    then
        echo $currentJob
        serverJobName="$( tr '[A-Z]' '[a-z]' <<< "$currentJob" )"  #Change to lowercase
                                                                   #run cURL job
        curl -o "$currentJob"PisaInterfaces.xml http://www.ebi.ac.uk/msd-srv/pisa/cgi-bin/interfaces.pisa?"$serverJobName"
    else  #file with list of pdbs
        echo "Reading "$currentJob
        while read line; do
            echo "-"$line
            serverJobName="$( tr '[A-Z]' '[a-z]' <<< "$line" )"
            curl -o "$line"PisaInterfaces.xml http://www.ebi.ac.uk/msd-srv/pisa/cgi-bin/interfaces.pisa?"$serverJobName"
        done < "$currentJob"
    fi
done

Конечно, есть очевидный обходной путь, когда после цикла while я повторяю шаги внутри цикла, чтобы завершить эти команды с последним файлом, но это нежелательно, поскольку любые изменения, которые я делаю внутри цикла while, должны повторяться снова. вне цикла while. Я искал в Интернете и не мог найти никого, задающего этот точный вопрос. Я уверен, что это там, но я не нашел это.

Вывод, который я получаю, выглядит следующим образом.

>testScript.sh file.txt
Reading file.txt
-file1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  642k    0  642k    0     0   349k      0 --:--:--  0:00:01 --:--:--  492k

Моя версия bash 3.2.48

Ответы на вопрос(4)

Ваш ответ на вопрос