Если ping ответов хоста затем тестирует если на строке (просто пример):
ping -c 10 $host
Если бы ping не возвращены/запрещены, я проверил бы на отдельные сервисы через nmap:
nmap $host -p $known_port --max-retries 10 | grep -q open
Например, чтобы протестировать, если ssh, как ожидают, будет открыт, замените known_port 22
что касается сценария это могло быть (пример - это - утро воскресенья, и я скучаю так, это выросло немного после некоторых редактирований - нацелен на тестирование набора хостов, не всего одного):
declare -A SERVER
# SERVER["NAME - Description"]="IP KNOWNPORT"
SERVER["SERVER1 - Client foo"]="111.111.111.111 22"
SERVER["SERVER2 - Client bar"]="222.222.222.222 80"
# ...
# add as many server/port combinations as you'd like
NMAP_MAX_RETRIES=10
printf "========================= ========================= ========== ==========\n"
printf "%25s %25s %10s %10s\n" "Host Description" "IP" "Port" "Status"
printf "========================= ========================= ========== ==========\n"
for server in "${!SERVER[@]}"; do
set -- ${SERVER["$server"]}
eval nmap \$1 -p \$2 --max-retries $NMAP_MAX_RETRIES | grep -q open
if [ "$?" == "0" ]; then
STATUS="[OK]"
else
STATUS="*DOWN*"
fi
printf "%25s %25s %10s %10s\n" "$server" "$1" "$2" "$STATUS"
done
printf "========================= ========================= ========== ==========\n"
При выполнении это возвращается (поддельный дюйм/с, таким образом, серверы снижаются):
~$ bash /tmp/foo.sh
========================= ========================= ========== ==========
Host Description IP Port Status
========================= ========================= ========== ==========
SERVER2 - Client bar 222.222.222.222 80 *DOWN*
SERVER1 - Client foo 111.111.111.111 22 *DOWN*
========================= ========================= ========== ==========
Добавьте это к своему .bashrc:
fc() {
command fc "$@"
history -s fc $@
}
попытайтесь добавить Ваш fc 23 27
к истории и повторно вызывают его позже:
knoedel@section60:~> bash --version
GNU bash, version 4.2.42(1)-release (x86_64-suse-linux-gnu)
knoedel@section60:~> history -s "fc 4074 4076"
knoedel@section60:~> history | tail -n 2
4090 15/12/2013 11:31:23 > fc 4074 4076
4091 15/12/2013 11:31:25 > history | tail
knoedel@section60:~> fc -s 4090
так fc -s 4090
на самом деле выполнения fc 4074 4076
но только на этой сессии. Если Вы выходите из системы и входите снова в изменение чисел команды истории. По крайней мере, поскольку я протестировал его. (вероятно, когда BASH_HISTSIZE достигнут),
Чтобы постараться не выполнять неправильные команды, я предлагаю сохранить Ваши команды от истории до сценария оболочки с fc -n -l id id > ~/bin/something.sh
fc --keepinhistory 22 34
или export HISTNOTIGNORE=fc
. Но, по-видимому, который не существует. спасибо
– Bernhard
16.12.2013, 10:02
fc
управляйте, чтобы я ввел, чтобы быть добавленным к истории.
– Bernhard
18.12.2013, 09:43