Я хотел бы написать сценарий bash
в Linux, который выполняет программу несколько раз (например, 3 раза) и указывает значение коммутатора на основе списка значений, предоставляемых в текстовом файле.В сценарии bash, как я могу предоставить значения, содержащиеся в текстовом файле, для переключения выполнения программы?
Например, предположим, что существует некоторая программа programname
, которая имеет переключатель -switch
, который принимает число с плавающей запятой в качестве входных данных. Таким образом, одна выполнение программы может прочитать:
programname -switch 0.05
где 0,05 представляет собой конкретное значение передается на коммутатор -switch
.
Теперь я хотел бы прочитать в виде текстового файла, который имеет список значений, которые я хотел бы передать, по порядку -switch
в отдельных звонках programname
. Мой текстовый файл test.txt
может содержать следующие данные:
0.05
3.19
100.75
Я хотел бы написать bash
скрипт, который будет читать в текстовый файл и эффективно принимать эти вызовы в последовательности:
programname -switch 0.05
programname -switch 3.19
programname -switch 100.75
Я имею в виду что-то вроде этого:
#!/bin/bash
for i in {1..3}
do
programname -switch $x
done
Но то, что я должен ввести вместо $x
? Другими словами, я не уверен, как читать в test.txt
и предоставлять его содержимое, один за другим, до -switch
при запуске цикла for
. У тебя есть какой-нибудь совет? Спасибо!
Спасибо! Я не указал это в своем первоначальном сообщении, но, к сожалению, мне все еще нужен целочисленный счетчик 'i', потому что я передам значение' i' (т.е. '$ i') в' programname' в другом коммутаторе (о котором я не указал в своем вопросе). Есть ли способ, которым мы можем поддерживать 'i'? – Andrew
@ Андрей, я обновил свой ответ. – trojanfoe
@Andrew Нет проблем. – trojanfoe