while ! ping -W 1 -c 4 www.google.com >& /dev/null ||
! ping -W 1 -c 4 www.yahoo.com >& /dev/null; do
sleep 600
done
Хотя я просто протестировал бы возможность соединения к IP-адресу; 8.8.8.8 общедоступный сервер DNS Google (он имеет очень высокую доступность). Тестирование, работает ли DNS, ненадежно так или иначе, потому что запись может быть в кэше.
while ! ping -W 1 -c 1 8.8.8.8 >&/dev/null; do sleep 600; done
Ping является не всегда лучшим способом проверить интернет-соединение. Много мест (особенно корпоративные сети) блок все кроме веб-доступа. Можно протестировать, работает ли сеть путем загрузки файла с высоконадежного сервера. Это тестирует DNS также, по крайней мере, с точки зрения Прокси HTTP (который снова является часто что вопросы).
while ! wget -q -O /dev/null --no-cache http://www.google.com/; do sleep 6000; done
Необходимо добавить вызовы к complete
к Вашей оболочке запускают файл (~/.tcshrc
). По-видимому, Ваше поле SuSE предопределило правила для make
; ищите их в /etc/csh.cshrc
или некоторый другой файл, обеспеченный вместе с tcsh (rpm -ql tcsh
).
tcsh распределение идет с некоторыми завершениями в качестве примера (Debian вставляет их /usr/share/doc/tcsh/examples/complete.tcsh.gz
); вот тот для make
:
complete make \
'n/-f/f/' \
'c/*=/f/' \
'n@*@`cat -s GNUmakefile Makefile makefile |& sed -n -e "/No such file/d" -e "/^[^ #].*:/s/:.*//p"`@'
Используя этот ответ на StackOverflow , чтобы использовать саму make
для вычисления всех доступных целей и объединения этого в пример сценария Debian как показано в , другой ответ здесь и затем добавление еще, это дает:
alias complete_make_target_filter 'awk -F: '"'"'/^[a-zA-Z0-9][^\$#\/\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'"'"
complete make \
'n/--assume-old/f/' \
'n/--assume-new/f/' \
'n/--directory/d/' \
'n/--file/f/' \
'n/--include-dir/d/' \
'n/--makefile/f/' \
'n/--new-file/f/' \
'n/--old-file/f/' \
'n/--what-if/f/' \
'n/-d/d/' \
'n/-f/f/' \
'c/*=/f/' \
'n@*@`make -qp |& grep -v Stop |complete_make_target_filter|xargs echo --always-make --directory -d --debug -e --environment-overrides --file --makefile -i --ignore-errors -I --include-dir -j --jobs -k --keep-going -l --load-average --max-load -L --check-symlink-times -n --just-print --dry-run --recon -o --old-file --assume-old -p --print-database -q --question -r --no-builtin-rules -R --no-builtin-variables -s --silent --quiet -S --no-keep-going --stop -t --touch -v --version -w --print-directory --no-print-directory -W --what-if --new-file --assume-new --warn-undefined-variables`@'
Поместите это вместе с другими изящными сценариями завершения в каталог ~ / .complete /
, а затем исходный код их все в вашем ~ / .cshrc
, и все готово.
make
– nozimica 22.02.2012, 00:54make `cat -s GNUmakefile Makefile makefile |& sed -n -e "/No such file/d" -e "/^[^ #].*:/s/:.*//p"`: No match.
– Stefan Müller 07.10.2012, 13:49