12-07-2011
Reading CLI input for script
I've always written scripts where the user executes the script and I prompt them for what they want to do.
But I'm trying to write a script where root executes the script 'lock' or its hard-link 'unlock' and the script will passwd -l or passwd -u an account depending on the choice.
What would be my best way to "read" what the user input was at the cli?
So basically I want
xxx@xxx# lock bob
or
xxx@xxx# unlock bob
CHECK if root is executing the script
READ user input at the cli
CHECK if the account exists
CHECK if the account is already locked/unlocked
LOCK/UNLOCK
Thanks
---------- Post updated at 07:25 PM ---------- Previous update was at 06:18 PM ----------
Experimenting with $0 right now. Seems like the right track?
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
#!/usr/bin/sh
echo "Enter reason:"
echo "> \c"
read $reason
$reason >> access.log
This doesnt work for me. Can someone tell me how I would read the input from what the person types, and then append that to the log file?
Regards (2 Replies)
Discussion started by: alwayslearningunix
2 Replies
2. Shell Programming and Scripting
Hi guys ,
As you know normally ' read ' statement waits
for the user to press enter and then terminates
the input .............
Can anyone of u tell me how do i read a
single character from input without waiting
for the user to press enter ................
Thanks,
Nagesh. (1 Reply)
Discussion started by: nageshrc
1 Replies
3. UNIX for Dummies Questions & Answers
I would like to prompt for input and then use it as a variable in a script.
Something like this.
#!/bin/ksh
echo "What is your name?: \c"
read response
echo "Your name is $reply" >file.txt
done
exit 0
What am I missing?
Thanks, (7 Replies)
Discussion started by: darthur
7 Replies
4. Shell Programming and Scripting
#!/bin/sh
rpt="/export/home/legato/rpt_offsite"/test_eject.tape
cat <$rpt
while read line
do
echo $line
perform routine
done
I am trying to read the contents of this file line by line and perform a routine for each line read.
The file contents are numbers..
What is wrong with my... (1 Reply)
Discussion started by: gzs553
1 Replies
5. Shell Programming and Scripting
Hi guys,
I am new to AWK and unix scripting. Please see below my problem and let me know if anyone you can help.
I have 2 input files (example given below)
Input file 2 is a standard file (it will not change) and we have to get the name (second column after comma) from it and append it... (5 Replies)
Discussion started by: sksahu
5 Replies
6. Shell Programming and Scripting
Can I do something like,
if($0==/^int.*$/) {
print "Declaration"
}
for an input like: int a=5;
If the syntax is right, it is not working for me, but I am not sure about the syntax. Please help.
Thanks,
Prasanna (1 Reply)
Discussion started by: prasanna1157
1 Replies
7. Shell Programming and Scripting
Alright, so the goal of my script is to read text from standard input and store it into a file using the ex-editor:
so far i've got this, but it doesn't work.
#!/bin/s
read text
ex $1 >> HERE
text
HERE
I don't get any errors either, so i don't know what i'm doing wrong. (7 Replies)
Discussion started by: Bertieboy7
7 Replies
8. Shell Programming and Scripting
This is one of the strangest things that's happening to me.
I'm writing a new Perl script that is trying to read a file.
The file is originally in .mof format, but I also saved the contents into a .txt file.
As a simple test, I wrote this:
#!/user/bin/perl -w
use strict;
... (3 Replies)
Discussion started by: kooshi
3 Replies
9. Shell Programming and Scripting
I need to create a bash array from the command line parameters. I only know how to do it when I know the number of parameters. But what do I do when I dont know the number of parameters? (1 Reply)
Discussion started by: locoroco
1 Replies
10. Shell Programming and Scripting
Hi folks..
i got a requirement to red multiple directories from STDIN and store them to a variable.
ex:-
echo "Enter directory to add:"
echo " Enter directory to add:"
read value till there is input and when there is no input close the read loop and store variable into an array
... (1 Reply)
Discussion started by: bangaram
1 Replies
LEARN ABOUT REDHAT
shlock
SHLOCK(1) General Commands Manual SHLOCK(1)
NAME
shlock - create lock files for use in shell scripts
SYNOPSIS
shlock -p pid -f name [ -b ] [ -u ] [ -c ]
DESCRIPTION
Shlock tries to create a lock file named name and write the process ID pid into it. If the file already exists, shlock will read the
process ID from the file and test to see if the process is currently running. If the process exists, then the file will not be created.
Shlock exits with a zero status if it was able to create the lock file, or non-zero if the file refers to currently-active process.
OPTIONS
-b Process IDs are normally read and written in ASCII. If the ``-b'' flag is used, then they will be written as a binary int. For
compatibility with other systems, the ``-u'' flag is accepted as a synonym for ``-b'' since binary locks are used by many UUCP pack-
ages.
-c If the ``-c'' flag is used, then shlock will not create a lock file, but will instead use the file to see if the lock is held by
another program. If the lock is valid, the program will exit with a non-zero status; if the lock is not valid (i.e., invoking
shlock without the flag would have succeeded), then the program will exit with a zero status.
EXAMPLES
The following example shows how shlock would be used within a shell script:
LOCK=<pathrun in inn.conf>/LOCK.send
trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15
if shlock -p $$ -f ${LOCK} ; then
# Do appropriate work
else
echo Locked by `cat ${LOCK}`
fi
BUGS
shlock does not assumed to be used under a number of lock/unlock environment in a short time. Namely, shlock should be used for an envi-
ronment like daily or hourly based job.
HISTORY
Written by Rich $alz <rsalz@uunet.uu.net> after a description of HDB UUCP locking given by Peter Honeyman. This is revision 1.5.6.1, dated
2002/09/24.
SEE ALSO
inn.conf(5)
SHLOCK(1)