function install(){
V1=version1
V2=version2
DIR=folder
echo "Select version by number to download ${reset}:"
echo "$V1"
echo "$V2"
read version
case $version in
1) if [[ ! -d $DIR/$V1 ]];
then echo "Creating $DIR/$V1 folder."
mkdir -p $DIR
else
echo "$DIR/$V1 Folder exists"
fi
2) if [[ ! -d $DIR/$V2 ]];
then echo "Creating $DIR/$V2 folder."
mkdir -p $DIR/$V2
else
echo "$DIR/$V2 Folder exists"
fi
}
opt=$1
case $opt in
--install | -i) install ;;
*) echo "Exit"
exit ;;
esac
Теперь единственное, что изменяется в case $version
, - это переменная $V[1-2]
Как я могу прочитать шаблон и вставить туда?
Я пробовал:
lines=('if [[ ! -d $DIR/$V0 ]];
then echo "Creating $DIR/$V0 folder."
mkdir -p $DIR
else
echo "$DIR/$V0 Folder exists"
fi')
, а затем
1) $(lines | sed -e "s/\&V0/\$V1/g")
Но это не сработало. Любые идеи? Любая помощь приветствуется! Спасибо!
РЕДАКТИРОВАТЬ: Прошу прощения, но после прочтения ответов я сожалею, что не был достаточно ясен. Основная часть, о которой я прошу, была:
- У меня есть текст с условиями «if then else»
- Этот текст должен быть где-то в качестве шаблона.
- Затем этот шаблон должен быть прочитан и переменные должны быть заменены правильными.
- Таким образом, у меня есть только один сценарий, и его можно использовать повторно, просто поместив его в "case" с небольшой модификацией, например, через sed.
Это возможно?