Sponsored Content
Top Forums Shell Programming and Scripting Is there a simpler way to achieve this? Post 302416018 by Franklin52 on Saturday 24th of April 2010 11:10:20 AM
Old 04-24-2010
Quote:
Originally Posted by mlott
Hi all

I have the following which is part of a larger interactive script for adding virtual hosts to Apache's configuration (it was built for non-technical administrators). I'm curious as to whether there is a simpler way of achieving the same thing. All it does is look into the /etc/httpd/sites-enabled/ directory and check if the user is adding a FQDN that is already live, and if so, prompts them to add a different FQDN:

Code:
#!/bin/sh

queryFQDN()
{
declare -a VHOST
VHOST=( $(ls -1 /etc/httpd/sites-enabled/) )
printf "What is the Fully Qualified Domain Name?\n"
read FQDN
for i in ${VHOST[@]};do
        if [ "$i" == "$FQDN" ];then
        return 1
        fi
done
}

queryFQDN

while [ "$?" -eq "1" ];do
printf "FQDN already exists.\nYou will have to choose another value.\n"
queryFQDN
done

exit 0

Any ideas would be most appreciated.

Mike
Maybe something like this?
Code:
queryFQDN()
{
  printf "What is the Fully Qualified Domain Name?\n"
  read FQDN

  if [ -z $FQDN ]
  then
    return 1
  fi

  if ls /etc/httpd/sites-enabled/$FQDN >/dev/null 2>&1
  then
    return 1
  fi

}


Last edited by Franklin52; 04-24-2010 at 12:22 PM.. Reason: adding -z test statement
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

is there a way to achieve this with compress?

I'm trying to figure out how I can get an equivalent output to a text file such as if I use gunzip -l filename in that gunzip will output the previous file size and the compressed size and the ratio... is there a way to achieve this with compress and zip? i am very new at shell... (3 Replies)
Discussion started by: nortypig
3 Replies

2. Shell Programming and Scripting

how to achieve following parallel processing thru unix

hey...... i hav the follwing scripts needs to run parallel, so i made it as follows, $HPath/start_script.sh 20 & $HPath/start_script.sh 03 & $HPath/start_script.sh 01 & $HPath/start_script.sh 12 & then once all these above got completed successfully i have to run ... (3 Replies)
Discussion started by: manas_ranjan
3 Replies

3. UNIX for Dummies Questions & Answers

Do i need a script to achieve this?

Hi all, i have a following folder call 'zz'. This 'zz' folder is found in the following directories. I would like to delete the zz in the following directories /aa/zz /aa/bb/cc/zz /aa/bb/cc/dd/zz /aa/bb/cc/dd/ee/zz and keep the zz folder in the following directories /WW/zz ... (1 Reply)
Discussion started by: new2ss
1 Replies

4. Programming

How to achieve Serialization in Unix C, C++

How to achieve SERIALIZATION in Unix , C, C++ Write Objects directly to disk and read back ? (1 Reply)
Discussion started by: Sivaswami
1 Replies

5. Shell Programming and Scripting

How to achieve this?

hi to all, i have the input(text file) like the below... Header 1,2,3 4,5,6 7,8,9 Footer i need a output(text file) like the below... Header,1,2,3,Footer Header,4,5,6,Footer Header,7,8,9,Footer please help me to find out? (2 Replies)
Discussion started by: aaha_naga
2 Replies

6. UNIX for Advanced & Expert Users

how to achieve this output ?

in AIX ,HP Unix and in SUN solaris, how to find the logs by date and time, I mean , Logs which have been generated or updated most recently , which might be present in folders and sub folders, I need to get the list of these Logs along with location path. Example: ======== folder... (3 Replies)
Discussion started by: sidharthmellam
3 Replies

7. What is on Your Mind?

A simpler XML tool

We've been getting a lot of XML questions lately, and I suspect it's only going to get worse better ... Normal shell utilities just can't handle it and the "proper" solutions, do-everything perl modules or things like xmlstarlet, just make my head ache. Started coding something tonight. What... (10 Replies)
Discussion started by: Corona688
10 Replies

8. UNIX for Dummies Questions & Answers

Simpler next month year program

I have created this program to get the next month and year. Is there a simpler way. #!/bin/ksh string=`cat Date.txt` year=`echo $string | cut -c 1-4` month=`echo $string | cut -c 5-6` echo $year$month mon=`expr $month + 1` if ; then mon=0$mon echo $mon fi if ; then month=01 ... (2 Replies)
Discussion started by: w020637
2 Replies

9. Shell Programming and Scripting

Need simpler version of these commands

Hi all, I am trying to grep a file with the word grand and get all the fields.. Then replace multiple spaces with single space and then get 8 th field and add all these numbers . I am able to do it but with so amny commands which i feel can be done in a simpler way Please let me know if... (4 Replies)
Discussion started by: Hypesslearner
4 Replies
HOSTNAME(1)						     Linux Programmer's Manual						       HOSTNAME(1)

NAME
hostname - show or set the system's host name domainname - show or set the system's NIS/YP domain name dnsdomainname - show the system's DNS domain name nisdomainname - show or set system's NIS/YP domain name ypdomainname - show or set the system's NIS/YP domain name nodename - show or set the system's DECnet node name SYNOPSIS
hostname [-v] [-a] [--alias] [-d] [--domain] [-f] [--fqdn] [-i] [--ip-address] [--long] [-s] [--short] [-y] [--yp] [--nis] [-n] [--node] hostname [-v] [-F filename] [--file filename] [hostname] domainname [-v] [-F filename] [--file filename] [name] nodename [-v] [-F filename] [--file filename] [name] hostname [-v] [-h] [--help] [-V] [--version] dnsdomainname [-v] nisdomainname [-v] ypdomainname [-v] DESCRIPTION
Hostname is the program that is used to either set or display the current host, domain or node name of the system. These names are used by many of the networking programs to identify the machine. The domain name is also used by NIS/YP. GET NAME When called without any arguments, the program displays the current names: hostname will print the name of the system as returned by the gethostname(2) function. domainname, nisdomainname, ypdomainname will print the name of the system as returned by the getdomainname(2) function. This is also known as the YP/NIS domain name of the system. nodename will print the DECnet node name of the system as returned by the getnodename(2) function. dnsdomainname will print the domain part of the FQDN (Fully Qualified Domain Name). The complete FQDN of the system is returned with host- name --fqdn. SET NAME When called with one argument or with the --file option, the commands set the host name, the NIS/YP domain name or the node name. Note, that only the super-user can change the names. It is not possible to set the FQDN or the DNS domain name with the dnsdomainname command (see THE FQDN below). The host name is usually set once at system startup in /etc/rc.d/rc.inet1 or /etc/init.d/boot (normally by reading the contents of a file which contains the host name, e.g. /etc/hostname). THE FQDN You can't change the FQDN (as returned by hostname --fqdn) or the DNS domain name (as returned by dnsdomainname) with this command. The FQDN of the system is the name that the resolver(3) returns for the host name. Technically: The FQDN is the name gethostbyname(2) returns for the host name returned by gethostname(2). The DNS domain name is the part after the first dot. Therefore it depends on the configuration (usually in /etc/host.conf) how you can change it. Usually (if the hosts file is parsed before DNS or NIS) you can change it in /etc/hosts. OPTIONS
-a, --alias Display the alias name of the host (if used). -d, --domain Display the name of the DNS domain. Don't use the command domainname to get the DNS domain name because it will show the NIS domain name and not the DNS domain name. Use dnsdomainname instead. -F, --file filename Read the host name from the specified file. Comments (lines starting with a `#') are ignored. -f, --fqdn, --long Display the FQDN (Fully Qualified Domain Name). A FQDN consists of a short host name and the DNS domain name. Unless you are using bind or NIS for host lookups you can change the FQDN and the DNS domain name (which is part of the FQDN) in the /etc/hosts file. -h, --help Print a usage message and exit. -i, --ip-address Display the IP address(es) of the host. -n, --node Display the DECnet node name. If a parameter is given (or --file name ) the root can also set a new node name. -s, --short Display the short host name. This is the host name cut at the first dot. -V, --version Print version information on standard output and exit successfully. -v, --verbose Be verbose and tell what's going on. -y, --yp, --nis Display the NIS domain name. If a parameter is given (or --file name ) then root can also set a new NIS domain. FILES
/etc/hosts AUTHOR
Peter Tobias, <tobias@et-inf.fho-emden.de> Bernd Eckenfels, <net-tools@lina.inka.de> (NIS and manpage). Steve Whitehouse, <SteveW@ACM.org> (DECnet support and manpage). net-tools 28 Jan 1996 HOSTNAME(1)
All times are GMT -4. The time now is 05:29 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy