Обычно я записываю свои шаги при развертывании систем, и я часто дублирую сервер во время его первоначального тестирования. Например, если я немного задерживаюсь в сорняках во время тестирования, я просто предпочитаю поцарапать сервер после того, как я получу успех. Так легко, что я могу вернуться к этому моменту минус дополнительные шаги, которые я ранее делал, которые были лишними. Я не могу спать правильно, если чувствую, что у меня есть ненужные зависимости, сидящие вокруг.
Я еще не натолкнулся на предел, но есть ли смысл, когда BASH откажется от меня, ожидая меня Конец. Например, если я создаю скрипт deploy.sh, который содержит кучу команд, включая редактирование файлов с помощью nano, будет ли бесконечно ждать меня, чтобы отредактировать файл и сохранить изменения, а затем продолжить сценарий?
Это эквивалент получения истории bash и ее маркировки для последующего использования.
пример deploy.sh
# Fix hosts file
sudo nano /etc/hosts
# Update System
sudo apt-get update ; sudo apt-get -y dist-upgrade
# Install Java from repo
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java8-installer
# Test JAVA
java -version
# Install build-essential, git
sudo apt-get -y install build-essential git
# Generate SSH key for github
ssh-keygen -t rsa -b 4096 -C "name@email.com"
# Check on ssh-agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
# Add SSH to github keys
cat ~/.ssh/id_rsa.pub
# Verify SSH access to github
ssh -T git@github.com
# Elastic Search Install
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-1.7.list
sudo apt-get update
sudo apt-get -y install elasticsearch
# Edit elasticsearch config (adjust cluster name, node name, and data path)
sudo nano /etc/elasticsearch/elasticsearch.yml
# Change paths ownership to elasticsearch
sudo chown -R elasticsearch:elasticsearch /mnt/data/elasticsearch
# Restart elasticsearch
sudo service elasticsearch restart
# Add elasticsearch to boot
sudo update-rc.d elasticsearch defaults 95 10
# Install Node 5.x
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs