Я написал сценарий bash, который вызывает другой скрипт, передавая ему аргумент. Аргументом в этом случае является файл, содержащий несколько строк.bash script invoke другая программа с аргументами
я сделать что-то вроде этого:
#! /bin/bash
`python script.py -i input.txt /path/to/somefile`
теперь input.txt содержит такие строки:
something 1
something 2
something 3
Проблема здесь в том, что каждая строка input.txt оценивается как сама программа скриптом bash вместо того, чтобы быть переданным, как и для программы script.py.
так что программа script.py ожидает файл с 3 строками в качестве входных данных, как показано выше, но вместо этого получает другой вход (результат оценки чего-то 1, что-то 2 и т. Д.).
Как передать этот файл в качестве аргумента для script.py?
, если я призываю script.py вне сценария Баш как это:
python script.py -i input.txt /path/to/somefile
это работает хорошо. script.py читает одну строку из input.txt за раз и работает на нем.
Любопытно, почему вы считали, что обратные сигналы нужны в bash? Фон Perl? – hyde