У меня есть следующий код:
while getopts ":p:t:n:" o; do
case "${o}" in
p)
p=${OPTARG}
numep=$p
mkdir $numep
;;
t)
t=${OPTARG}
tip=$t
if [ $tip == "c" ]; then
touch $numep/$numep.c
touch $numep/$numep.h
elif [ $tip == "c++" ]; then
touch $numep/$numep.cpp
touch $numep/$numep.h
fi
;;
n)
n=${OPTARG}
nrFis=$n
if [ $tip == "c" ]; then
for i in $(seq $n); do
touch $numep/src/$numep$i.c
touch $numep/inc/$numep$i.h
done
elif [ $tip == "c++" ]; then
for i in $(seq $n); do
touch $numep/src/$numep$i.cpp
touch $numep/inc/$numep$i.h
done
fi
;;
*)
err-help
;;
esac
done
err-help — это предварительно определенная функция, которая предоставляет инструкции для правильного вызова.
Правильный вызов скрипта выглядит так: ./script.sh -p project_name -t project_type -n source_files_number
Что я пытаюсь сделать: создать каталог с определенным количеством исходных файлов для проекта c или c++.
Мои вопросы здесь: Как мне использовать ${OPTARG}? Что именно делает p=${OPTARG}? Будут ли переменные p, t, n заполнены правильным содержимым? Как я делаю это правильно, пожалуйста? :(