День добрый! Допустим есть скрипт:
Add VirtualBox repository
#
cat /etc/apt/sources.list | grep virtualbox
if [ $? -eq 1 ]
then
sed -i "/cdrom/d" /etc/apt/sources.list
echo "deb http://download.virtualbox.org/virtualbox/debian stretch contrib" >> /etc/apt/sources.list
wget https://www.virtualbox.org/download/oracle_vbox_2016.asc && apt-key add oracle_vbox_2016.asc
fi
#
# Install OS packages
#
apt-get update -y && apt-get upgrade -y && apt-get autoremove -y
apt-get -y install $VB_PACKAGES || { echo '[ERROR] Package installation failed! Exiting!' ; exit 1; }
apt-get update -y && apt-get upgrade -y && apt-get autoremove -y
#
# Prepare the phpvirtualbox server user
#
cat /etc/passwd | grep $VB_USERNAME
useradd -m $VB_USERNAME
echo "$VB_PASSWORD\n$VB_PASSWORD" | passwd $VB_USERNAME
usermod -aG vboxusers $VB_USERNAME
#
# Wget the extension pack and phpvirtualbox resources
#
wget $VB_EXTPACK_URL
wget $VB_PHPVBZIP_URL -O $VB_PHPVBZIP_NAME
#
# Configure the virtualBox extension
#
echo y | vboxmanage extpack install --replace $VB_EXTPACK_NAME
if [ $? -eq 1 ]
then
echo "There was an error installing the extion pack: $VB_EXTPACK_NAME"
exit 1
fi
#
# Set up the phpvirtualbox web files
#
rm -rf /var/www/html/*
unzip -q $VB_PHPVBZIP_NAME
mv phpvirtualbox-5.0-5/* /var/www/html/
cp /var/www/html/config.php-example /var/www/html/config.php
sed -i "12s/'vbox'/\'$VB_USERNAME\'/" /var/www/html/config.php
sed -i "13s/'pass'/\'$VB_PASSWORD\'/" /var/www/html/config.php
sed -i "16s/'127.0.0.1:18083'/\'$VB_SERVER_IP\'/" /var/www/html/config.php
echo "VBOXWEB_USER=$VB_USERNAME\nVBOXWEB_HOST=$VB_HOSTNAME\nVBOXWEB_PORT=$VB_PORT" > /etc/default/virtualbox
sed -i "22s/'en'/\'ru\'/" /var/www/html/config.php
Нужно в процессе выполнения скрипта вырвать из него кусок и сохранить в другой файл для дальнейшего его использования. Грубо говоря как то выделить блок текста и сохранить его в файл. как тут только масштабнее:
echo "deb http://download.virtualbox.org/virtualbox/debian stretch contrib" >> /etc/apt/sources.list