defining variables


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting defining variables
# 1  
Old 01-03-2009
defining variables

Hey all, I was wondering if someone would take a look at this script I'm working on. I don't know if i have the syntax correct for my variables and if the for loop is written correctly.

any assistance would be greatly appreciated.

#!/usr/bin/bash

###########################################
# Written By: em
# Purpose: This script was written to make changes to a basic zone setup
# Date: 01 July 2008
###########################################

# My Variables
DMI_FILE="/etc/dmi/conf"
SNMP_FILE="/etc/snmp/conf"

##########
# Code
##########

if [[ -e $DMI_FILE ]]; then #check to see if the file exists
for conf in $($DMI_FILE)
do
mv conf conf.orig
done
else
print "$DMI_FILE does not exist"
exit
fi

echo "/etc/dmi/conf has been moved"

if [[ -e $SNMP_FILE ]]; then #check to see if the file exists
for conf in $($SNMP_FILE)
do
mv conf conf.orig
done
else
print "$SNMP_FILE does not exist"
exit
fi

echo "/etc/snmp/conf has been moved"


#
# disable services
#
/usr/sbin/svcadm disable svc:/network/finger:default
/usr/sbin/svcadm disable svc:/network/login:rlogin
/usr/sbin/svcadm disable svc:/network/shell:default
/usr/sbin/svcadm disable svc:/network/telnet:default
/usr/sbin/svcadm disable svc:/network/rpc/rstat:default
/usr/sbin/svcadm disable svc:/network/rpc/rusers:default
/usr/sbin/svcadm disable svc:/network/smtp:sendmail
/usr/sbin/svcadm disable svc:/network/ftp:default
/usr/sbin/svcadm disable svc:/system/filesystem/autofs:default

echo "The requested services have been disabled"

#
# disable automounter
#
/usr/bin/svcadm disable autofs

echo "automounter disabled"

#
# edit auto_master
#
vi /etc/auto_master

echo "Basic Zone Setup is complete"
# 2  
Old 01-03-2009
Quote:
Originally Posted by em23
Hey all, I was wondering if someone would take a look at this script I'm working on. I don't know if i have the syntax correct for my variables and if the for loop is written correctly.

Did you run the script? If you did you would have received error messages telling you what and where the errors were.
Quote:
any assistance would be greatly appreciated.

When posting code, please put it in [code] tags.
Quote:
Code:
if [[ -e $DMI_FILE ]]; then #check to see if the file exists


[[ -e ... ]] is not standard and, in this case, offers nothing over the standard [ -e ... ].
Quote:
Code:
    for conf in $($DMI_FILE)


There's an obvious mistake. Why are you using command substitution when the variable does not contain a command?
# 3  
Old 01-03-2009
Quote:
Originally Posted by cfajohnson

Did you run the script? If you did you would have received error messages telling you what and where the errors were.
i did, but didn't get any errors.

When posting code, please put it in [code] tags.
d'oh! forgot about that.

[[ -e ... ]] is not standard and, in this case, offers nothing over the standard [ -e ... ].
okay, was not aware of that. thank you.

There's an obvious mistake. Why are you using command substitution when the variable does not contain a command?
typo, i forgot the 'ls' in there.
# 4  
Old 01-03-2009
here is are the changes that i made.


Code:
#!/usr/bin/ksh

if [ -e /etc/dmi/conf/ ]; then #check to see if /etc/dmi/conf exists
   mv conf conf.orig # move the file to .orig
else
   print "/etc/dmi/conf does not exist"
fi

if [ -e /etc/snmp/conf/ ]; then # check to see if /etc/snmp/conf exists
   mv conf conf.orig # move the conf to .orig
else
   print "/etc/snmp/conf does not exist"
fi

# 5  
Old 01-03-2009
Quote:
Originally Posted by em23
here is are the changes that i made.

Code:
#!/usr/bin/ksh

if [ -e /etc/dmi/conf/ ]; then #check to see if /etc/dmi/conf exists
   mv conf conf.orig # move the file to .orig


What are you trying to move? You haven't checked whether there is a file (or directory) called conf in the current directory.
Quote:
Code:
else
   print "/etc/dmi/conf does not exist"


How do you know that /etc/dmi/conf doesn't exist? You didn't test for it; you tested for a directory of that name.

The same comments apply to the next section as well.
Quote:
Code:
fi

if [ -e /etc/snmp/conf/ ]; then # check to see if /etc/snmp/conf exists
   mv conf conf.orig # move the conf to .orig
else
   print "/etc/snmp/conf does not exist"
fi

# 6  
Old 01-03-2009
Quote:
Originally Posted by cfajohnson

What are you trying to move? You haven't checked whether there is a file (or directory) called conf in the current directory.

How do you know that /etc/dmi/conf doesn't exist? You didn't test for it; you tested for a directory of that name.

The same comments apply to the next section as well.
Do you mean test, like so:

Code:
test -d /etc/dmi/conf
if [ "$?" -eq 0 ]
then
   print '/etc/dmi/conf does exist'
else
   print '/etc/dmi/conf does NOT exist'
fi

and when executed...
em23@sparky:~$ ./test.sh
/etc/dmi/conf does exist
# 7  
Old 01-03-2009
Quote:
Originally Posted by em23
Do you mean test, like so:

test is a synomym for [.
Quote:
Code:
test -d /etc/dmi/conf
if [ "$?" -eq 0 ]


That's the same as

Code:
test -d /etc/dmi/conf
if test "$?" -eq 0

It would normally be written as:

Code:
if test -d /etc/dmi/conf

Or:

Code:
if [ -d /etc/dmi/conf ]

Quote:
Code:
then
   print '/etc/dmi/conf does exist'
else
   print '/etc/dmi/conf does NOT exist'
fi

and when executed...
em23@sparky:~$ ./test.sh
/etc/dmi/conf does exist
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Defining variable problem

Hi I'd say I'm having this weird problem where my script isn't taking the value off a variable or printing it. My code is like this: set count_C= `grep -c C mols` set count_H= `grep -c H mols` set count_O= `grep -c O mols` sed -i '7,7 s/$/ $count_C $count_O $count_H/g' input It... (8 Replies)
Discussion started by: saleheen
8 Replies

2. UNIX for Dummies Questions & Answers

Help with defining PATH

Hi All, I have a trivial question but I dont know how to solve it. So basically I'm working on a USB key and I have a directory with some scripts which I use to work on files present in other directories within the USB or sometimes on the main harddisk too. The problem is every time I have to... (3 Replies)
Discussion started by: pawannoel
3 Replies

3. UNIX for Dummies Questions & Answers

Defining an alias FreeBSD

I have defined this alias as quick way to find out which mount point to use for a USB drive after inserting it: # alias da='dmesg | grep da | grep MB' However, when invoking it, it states the following: # da da: Command not found. Can someone explain what is the issue here and how it can be... (3 Replies)
Discussion started by: figaro
3 Replies

4. UNIX for Dummies Questions & Answers

defining variable in .profile

In root dir i have created a .profile file and added variable and assigned a path to it: a = '/dir/dir' export a but when i echo (echo $a) the path or use this variable the value or path not getting displayed. i tried executing the .profile and logging out and logging in, didnt workout. am... (1 Reply)
Discussion started by: abhi_n123
1 Replies

5. Shell Programming and Scripting

Defining Dynamic Number of Variables in a Bash Script

Code: $ cat test.bash #!/bin/bash job=$1 steps=$2 num=$(echo "$@" | wc -w) Example Submission: $ ./test.bash BS01 3 1 2 3 What: (2 Replies)
Discussion started by: mkastin
2 Replies

6. UNIX and Linux Applications

Problems with defining triggers

I am running the example from the following webpage: MySQL :: MySQL 5.0 Reference Manual :: 12.1.11 CREATE TRIGGER Syntax and the problem is that triggers cannot be defined for some reason: CREATE DATABASE IF NOT EXISTS triggertest; USE triggertest; CREATE TABLE test1(a1 INT); CREATE TABLE... (3 Replies)
Discussion started by: figaro
3 Replies

7. Programming

Defining Custom Signal

Is it possible to send a custom signal to a process? e.g. Send signal 9999 to my process, which handles it with some custom handler. How would one do this? (12 Replies)
Discussion started by: joha
12 Replies

8. AIX

defining a printer in qconfig

I've got a modified samba script (named it winprint) that I can use to print out to a to a shared Win Network printer from an AIX machine. This is a modification of the samba provided smbprint script changed to work under AIX as the backend for a queue. It does not read a config file I can print... (0 Replies)
Discussion started by: matheeq
0 Replies

9. UNIX for Dummies Questions & Answers

Defining Variables

I'm trying to define a variable named sin I already have a variable named cos, which has the value "hello" I want sin to have the value of "hellothere", so sin would be something like sin = $cos & "there" but I'm not sure that I know the syntax. Can anyone help? :confused: (4 Replies)
Discussion started by: sailorliones
4 Replies

10. UNIX for Dummies Questions & Answers

Defining variables at boot time

Hi, I'm looking for advice on where is the best place on Solaris to put a script that will setup system vairables prior to any users loging in. I've tried /etc/rc3.d without much success as the variables do not appear in the output from an env command. I want the system to have these... (7 Replies)
Discussion started by: ianf
7 Replies
Login or Register to Ask a Question