Sponsored Content
Top Forums Shell Programming and Scripting Control structures and scripting question.. Post 302369459 by SlapnutsGT on Sunday 8th of November 2009 05:28:53 PM
Old 11-08-2009
Control structures and scripting question..

Hey guys, I'm currently working on a project for comp sci course, and I'm very green to Unix and scripting, and only have a semesters worth of programming knowledge (bare with me! sorry!). What I'm trying to do is make a 'if ... then ... fi' control structure that takes user input and then searches the file where data is going and if the name already exists in first field it prints error msg (cant have two of same name in data file)

So basically its sort a mock inventory auto parts management script, user goes to add new parts, first is prompted to enter name of part ... I then want to compare user input to first field of all entires already in my data file (auto.parts) ... if the part exists print error message, if not continue and add part to data file.

So far I got:
Code:
#bin/sh

echo -n "Please enter auto part name:"
read apname
if [ "$apname" = "$1" ]
then
        echo -n "Part already exists!  Can not enter duplicate parts."
        stop=1
else
        echo -n "Please enter operator's name:"
        read opname
        status="Part Available"
        cdate=""
        bname=""
fi
echo ${apname}:${opname}:${status}:${cdate}:${bname} >> auto.parts
echo "A new auto part has been added to inventory!"

It seems to not be comparing the user input to first field (first field is where auto part name goes i.e <partname>:<stuff>:<stuff>:<etc..>), it just ignores the statement and continues on ... allowing me to enter 100 Brake:etc:etc:etc lines if I wish too, which it shouldn't!. I'm almost positive i'm using wrong syntax in my if [statement]. ANY help, or finger pointing me to a great website for beginners would be MUCH appreciated!!

Thanks guys!
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

another scripting question

I am writing a script that will identify the oldest file in a directory. Here's the syntax: #!/bin/ksh cd directory chmod 777 * ls -r -1t > file1 sed -n -e "1P" < file1 > file2 So my problem is, now I have file2, which contains the name of the oldest file in the directory. How do I use,... (1 Reply)
Discussion started by: kristy
1 Replies

2. Shell Programming and Scripting

another scripting question

Hello I am working on cleaning up permissions on Oracle mountpoints and datafiles in unix. I am looking for a script or a scripting idea to 1st. 1. grep for owner oracle 2. ensure its a directory owned for oracle 3. chmod 750 on the oracle owned directory. 4. grep for oracle files, etc... (3 Replies)
Discussion started by: jigarlakhani
3 Replies

3. Shell Programming and Scripting

scripting question

I'm new to shell scripting and am having a problem trying to do something in C shell. I want to write a script that will input something instead of a user doing it. For example, using the command 'write' the user is supposed to type something to be sent to another user. I want a script to be able... (3 Replies)
Discussion started by: batmike
3 Replies

4. UNIX for Dummies Questions & Answers

FTP access & control question

Folks; I need some help with these: 1. understanding how to control access rights and manage visibility using FTP in Solaris, in other words, I need to use FTP in Solaris to be able to give some users access to add/modify data to/from the UNIX server. 2. How can i control the space allowed for... (2 Replies)
Discussion started by: Katkota
2 Replies

5. UNIX for Dummies Questions & Answers

Scripting question

folks; I have a script to remove any files that older than 14 days then move any files that younger than 7 days to another directory. but for some reason it doesn't move the files, when i do it manually it works but not through the script. i tried 2 different ways in writing the move part but it... (6 Replies)
Discussion started by: Katkota
6 Replies

6. Linux

SSH remote control question

I am pretty new to linux so forgive me for asking a basic question :P I am using SSH to control 40 machines. What i am trying to do is remotely bash a shell script on each machine. I am using a for loop to bash every script, code as follows. code in host machine runallworkers.sh: ... ... (2 Replies)
Discussion started by: mgsolid
2 Replies

7. Shell Programming and Scripting

Scripting question

Preview of command prompt f ---> to start ferret q----> to stop ferret asp@nex:~$ f NOAA/PMEL TMAP FERRET v6.82 Linux 2.6.18-308.8.2.el5PAE 32-bit - 08/03/12 3-Dec-12 16:44 yes? go my.jnl yes?column=4/skip=1/type=num,text ............filename.txt ---... (4 Replies)
Discussion started by: nex_asp
4 Replies

8. Shell Programming and Scripting

Scripting question

hi all, I am writing a script and beginner in shell scripting. I have tried the below script. could you please check and let me know whether the below scirpt is correct. Unix details : HP Unix Input file. cat input.txt | tail -4 HTS40002.W1978.PROM HTS40003.W1978.PROM... (17 Replies)
Discussion started by: arun888
17 Replies

9. UNIX for Advanced & Expert Users

Question for expert only in Access control list

If I'm the admin for the financial system and I want to configure authorization pf file system permission.Also, The first rule is that Managers and clerks can read and write billings for all cases. The second rules is that Paralegals and administrative assits can read and write billings only on... (2 Replies)
Discussion started by: mecnio
2 Replies

10. SCO

Emacs Question; Control-G Not Working

Hi! I am using Emacs 22.3.1 and the Control-G command will not work to cancel. I took my init.el file out of the mix and it stills does not work. I am not sure when I upgraded from 20.4 to 22.3.1, if it worked, but it certainly does not now. Any thoughts... (6 Replies)
Discussion started by: trolley
6 Replies
yppasswd(1)						      General Commands Manual						       yppasswd(1)

NAME
yppasswd, ypchfn, ypchsh - change your password in the NIS database SYNOPSIS
yppasswd [-f] [-l] [-p] [user] ypchfn [user] ypchsh [user] DESCRIPTION
The standard passwd(1), chfn(1) and chsh(1) cannot be used under Linux to change the users NIS password, shell and GECOS information, because they only modify the password file on the local host. For changing the NIS information, they are replaced by their NIS counter- parts, yppasswd, ypchfn and ypchsh. These commands are the same program, linked to different names. Using the command line switches, you can choose whether to update your password -p, your login shell -l, or your GECOS field -f, or a combination of them. yppasswd implies the -p option, if no other option is given. If you use the -f or -l option, you also need to add the -p flag. ypchfn implies the -f option, and ypchsh -l. When invoked without the user argument, the account information for the invoking user will be updated, otherwise that of user will be updated. This option is only available to the super-user. If the yppasswdd daemon on the server supports it, you can give the root password of the server instead of the users [old] password. All tools will first prompt the user for the current NIS password needed for authentication with the yppasswdd(8) daemon. Subsequently, the program prompts for the updated information: yppasswd or -l Change the user's NIS password. The user is prompted for the new password. While typing the password, echoing is turned off, so the password does not appear on the screen. An empty password is rejected, as are passwords shorter than six characters. The user will then be requested to retype the password to make sure it wasn't misspelled the first time. ypchsh or -l Change the user's login shell. The user is prompted for a new shell, offering the old one as default: Login shell [/bin/sh]: _ To accept the default, simply press return. To clear the shell field in your passwd(5) file entry (so that the system's default shell is selected), enter the string none. ypchfn or -f Change the user's full name and related information. Traditionally, some applications expect the GECOS field (field 4) of the passwd(5) file to contain the user's real name (as opposed to the login name) plus some additional information like the office phone number. This information is displayed by finger(1) and probably some other tools, too. When setting the full name, ypchfn displays the following prompts, with the defaults in brackets: Name [Joe Doe]: Location [2nd floor, bldg 34]: Office Phone [12345]: Home Phone []: To accept a default, simply press return. To clear a field, enter the string none. SEE ALSO
chfn(1), chsh(1), finger(1), passwd(5), passwd(1), ypcat(1), yppasswdd(8), ypserv(8), ypwhich(1) AUTHOR
yppasswd is part of the yp-tools package, which was written by Thorsten Kukuk <kukuk@suse.de>. YP Tools 2.7 May 1998 yppasswd(1)
All times are GMT -4. The time now is 03:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy