Posts Tagged bash
Чакалене на IP/host за наличие на пинг
Posted by wireman in Craftsmanship, General on August 12th, 2009
Съвсем скоро (да кажем, преди 10 минути) ми се наложи да чакам да се появи пинг към дадено IP. За целта си написах shell-скриптчето, показано по-долу, което да ми “каже” нещо, в момента, в който се появи ping към съответното IP. Някой може да го намери за полезно:
dimitardimitrov@Midori:~$ cat monitor-host.sh #!/bin/bash if [ "$#" -lt 1 ] then echo "Usage: $0 host.to.monitor" exit 1 fi host="$1" while true do ping -c 1 $host if [ "$?" -eq "0" ] then say The host is now online! I repeat: "The host is now online!". exit fi sleep 1 done
За да работи, е необходимо да имате команда say, която да прави каквото се очаква :) Може да бъде заменена и с нещо друго, разбира се. Чувствайте се свободни да ползвате това парче “код” както искате.
mv, както и rm и cp
Posted by wireman in Craftsmanship on December 14th, 2007
Никога не ползвайте mv * ../* на UNIX/Linux система, ако не искате да преместите всички файлове от текущия каталог, както и тези от родителския каталог, в директория от родителския каталог! Shell-ът, който използвате (/bin/sh, /bin/bash, …) ще замести * с всички файлове и каталози от текущия каталог, а ../* с всички файлове и каталози от родителския каталог, като при това положение mv ще премести целия този списък в последния си аргумент, който трябва да бъде съществуващ каталог (вероятността това да е изпълнено не е малка.)
За повече информация: man mv и man sh…
Послеслов: Забравих да спомена, винаги, ама ВИНАГИ се пазете от сянката си, че няма да усетите как сами ще си навредите тъй, както никой друг не би могъл да ви навреди – слагайте синоними от този род в стартовия си, профилиращ shell-а, скрипт (~/.bash_profile за bash, ~/.cshrc за csh и т.н.):
alias rm rm -i alias cp cp -i alias mv mv -i