Ограничить время выполнения скрипта bash с интерактивностью?

Обычно я записываю свои шаги при развертывании систем, и я часто дублирую сервер во время его первоначального тестирования. Например, если я немного задерживаюсь в сорняках во время тестирования, я просто предпочитаю поцарапать сервер после того, как я получу успех. Так легко, что я могу вернуться к этому моменту минус дополнительные шаги, которые я ранее делал, которые были лишними. Я не могу спать правильно, если чувствую, что у меня есть ненужные зависимости, сидящие вокруг.

Я еще не натолкнулся на предел, но есть ли смысл, когда 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
1
задан 3 June 2016 в 15:09

0 ответов

Другие вопросы по тегам:

Похожие вопросы: