Difference between revisions of "Scripturi BASH"
From linux360
(Scripturi BASH moved to Tutorials: revert) |
(Cosmetic fixes and intial content re-injection) |
||
| Line 1: | Line 1: | ||
| − | # | + | == Exemple scripturi BASH == |
| + | |||
| + | === Script ce elimina zona asociata unui domeniu dat ca parametru de intrare === | ||
| + | |||
| + | Puteţi elimina porţiunea din named.conf de la | ||
| + | <tt>zone "nume.domeniu.dat.ca.parametru.de.intrare" {</tt> | ||
| + | până la acolada închisă asociată acoladei deschise de mai sus. | ||
| + | |||
| + | Scriptul este: | ||
| + | #!/bin/bash | ||
| + | |||
| + | # Bind zone remove script | ||
| + | # | ||
| + | # Copyright (C) 2005 Silvian Cretu <silvian86@yahoo.com> | ||
| + | # | ||
| + | # This program is free software; you can redistribute it and/or | ||
| + | # modify it under the terms of the GNU General Public License | ||
| + | # as published by the Free Software Foundation; either version 2 | ||
| + | # of the License, or (at your option) any later version. | ||
| + | # | ||
| + | # This program is distributed in the hope that it will be useful, | ||
| + | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| + | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| + | # GNU General Public License for more details. | ||
| + | # | ||
| + | # You should have received a copy of the GNU General Public License | ||
| + | # along with this program; if not, write to the Free Software | ||
| + | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
| + | |||
| + | if [ ! $# = 1 ]; then | ||
| + | echo "Usage: $0 domain"; | ||
| + | echo "The path to named.conf is defined inside the script"; | ||
| + | else | ||
| + | pathToNamedDotConf=/etc/named.conf | ||
| + | |||
| + | x=$(grep -n "zone \"$1\" {" $pathToNamedDotConf | cut -f1 -d:) | ||
| + | sed $x,/\}\;/d $pathToNamedDotConf > temp | ||
| + | c=$(sed -n $x'p' < temp) | ||
| + | if [ "x`echo $c | grep "zone"`" = "x" ] | ||
| + | then | ||
| + | sed $x' d' temp > $pathToNamedDotConf | ||
| + | else | ||
| + | cat temp > $pathToNamedDotConf | ||
| + | fi | ||
| + | rm -f temp | ||
| + | exit | ||
| + | fi</pre> | ||
| + | |||
| + | [[Category:Programare]] | ||
Revision as of 23:47, 24 November 2005
Exemple scripturi BASH
Script ce elimina zona asociata unui domeniu dat ca parametru de intrare
Puteţi elimina porţiunea din named.conf de la zone "nume.domeniu.dat.ca.parametru.de.intrare" { până la acolada închisă asociată acoladei deschise de mai sus.
Scriptul este:
#!/bin/bash
# Bind zone remove script
#
# Copyright (C) 2005 Silvian Cretu <silvian86@yahoo.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
if [ ! $# = 1 ]; then
echo "Usage: $0 domain";
echo "The path to named.conf is defined inside the script";
else
pathToNamedDotConf=/etc/named.conf
x=$(grep -n "zone \"$1\" {" $pathToNamedDotConf | cut -f1 -d:)
sed $x,/\}\;/d $pathToNamedDotConf > temp
c=$(sed -n $x'p' < temp)
if [ "x`echo $c | grep "zone"`" = "x" ]
then
sed $x' d' temp > $pathToNamedDotConf
else
cat temp > $pathToNamedDotConf
fi
rm -f temp
exit
fi</pre>
