обработка входных аргументов в сценарий bash

Почему бы просто не повторить прочитанное?

unset i
while [[ ! "$i" =~ ^[yYnN]$ ]]; do read -r -p "Would you like to continue  [Y/N] : " i; done
0
06.06.2021, 01:21
1 ответ

Предлагаю следующее решение:

#!/bin/bash

parse() {
        # get idX filenameX typeX
        id=$1
        filename=$2
        typo=$3

        # if typeX is missing, set to csv
        [ -z "$typo" ] && typo="csv"

        # check if filenameX exists on disk
        [ -f "$filename.$typo" ] && echo "Filename $filename exists"
}

while IFS= read -r line
do
        parse_line=`echo $line | grep -vE '^(\s*$|#)'`
        [ ! -z "$parse_line" ] && parse $parse_line
done < "$1"
1
28.07.2021, 11:26

Теги

Похожие вопросы