Я хочу сделать две вещи в этом сценарии: 1) передать имя файла сценария опции 2) перейти к сценариюBash скрипт - как прочитать файл построчно, используя getopts
пример 1 : $./test_script.sh file_name_to_be_read
проходит только имена файлов в сценарий
пример 2: $./test_script.sh -a -b file_name_to_be_read
имя файла передачи и опция для сценария
Я могу получить пример 1 для работы с использованием следующие коды:
while read -r line ; do
echo $line
done
В примере 2, я хочу, чтобы добавить дополнительные флаги, подобные этим:
while getopts "abc opt; do
case "$opt" in
a) a=1
echo "a is enabled"
;;
b) b=1
echo "b is enabled"
;;
esac
done
, но как я могу сделать это так, что имя_файла является обязательным и использоваться с или без опции?
бокового примечание: строки, считываемые 'в то время чтения -r line' будет иметь все ведущие/конечные вкладки и пробела удалены. Чтобы действительно прочитать строки файла дословно, используйте 'while IFS = read -r line' –