Это нормально в вашей стране работать (я предполагаю, что это не США или Европе), что вы сейчас держите в должность (ваш предыдущий вопрос) только с двух статьях, опубликованных и не представив их себе, но кто-то другой делает это для вас? @SteveChambers в то время как некоторые пуристы будут придираться, вы, по сути, "бывалые" сковорода покрытием его с маслом после каждого использования...так, собственно, никакой беды вообще нет. Кстати, скотч брайт отличается от использования ФП от Брилло, которые гораздо больше абразива. Я согласен, шпалы стоят дешево, но содержат токсичных соединений. Кедр работает лучше, чем сосна. Забор из старых досок, что нет краски и не лечат давление вариант.
#!/Бен/ш

выходной_файл=в/dev/stdout в

в то время как команде getopts 'о:' опт; делать
 случае $опт в
 о) файл outfile=$OPTARG ;;
 *) ошибка Echo 'в командной строке парсинга' >&2
 выход 1
эсок
сделано

смена "$(( OPTIND - 1 ))"

при [ "$#" -ГТ 0 ]; делать
 функции printf '%с = %з\п' "${1#--}" "$2"
 шифт 2
сделано >$выходной_файл

Этот скрипт будет брать -о' вариант, который будет установить выходной файл данная опция аргумент. Если не используется, то вывод будет идти на стандартный вывод.

Не вариант вроде скрипта командной строки должно быть дано после --. Двойное тире-это стандартный способ понять, что нет больше вариантов программы и что остальные операнды не должны быть обработаны в качестве параметров командной строки. Мы используем этот факт вот так, что команде getopts не запутаться вариант-как строки в конце командной строки (это не варианты этого скрипта).

В то время как петли в конце скрипт будет перебирать операндов в паре. Он будет сдирать двойное тире от первого операнда и выход измененное значение вместе со второй операнд со знаком равенства между ними. Если нет двойного тире в начале первого операнда (а и в -Альфа), значение осталось без изменений. Вывод перенаправляется в данный выходной файл.

Пример выполнения:

$ ./script.sh -о-альфа-бета -- 2 --4 --АББА "Танцующая Королева" --ыыы --ыыы
$ кота
альфа = 2
бета = 4
АББА = "Танцующая Королева"
ХХХ = --ыыы

Более короткий вариант без разбора командной строки:

#!/Бен/ш

при [ "$#" -ГТ 0 ]; делать
 функции printf '%с = %з\п' "${1#--}" "$2"
 шифт 2
сделано

Это может быть использовано вместе с перенаправлением в командной строке писать результат в файл:

./script.sh -альфа-бета-2 --4 --АББА "Танцующая Королева" --ыыы --ыыы >выходной_файл