Hello everybody,
well i have a problem with my script(has the name of the user as an argument) written by bash shell.in fact this script has to accomplish these things:
it has first to make sure if the user has an account on my machine
if that is true the shell has to return the adress email of the user,the adress email is in the 6th zone in the /etc/passwd
in fact ,to make sure that the user really exist i used this
cat /etc/passwd|grep -i $1
to acceede to the 6th zone we use cut -d : -f6 /etc/passwd
my problem is that i dont know how to express if the user doesn't exist,how to write it in bash!
i need your help!
thanx!!
You need to make sure the grep looks at the first field in the passwd file, but that's easy enough to fix.
In the backticks, I tacked on a "grep ." to see if the cut generated any output. If there is any output, grep will return success, and $? will be 0. (See the sh manual page for a bit more on this.)
The choice of case over if/then/else is kind of old-school; if you are more familiar with the if syntax, perhaps you prefer that -- I think it's uglier.
(This is for the terminally curious readers. Skip it if you don't understand it.
Back in the old days, it mattered more, because if would invoke an external process, whereas case does not. These days, test and friends are built into the shell anyway, so they don't create an external process.)
P.S. Try to think of a proper topic when you post. Most people who post here need help with a script; try to be informative and succinct.
I would also recommend against the use of grep -c for this. grep whatever sets $? which is much easier to manipulate in a shell script. If you have to parse the output and see if it's zero, that's an extra step.
I'm new to utilities like socat and netcat and I'm not clear if they will do what I need.
I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes.
I'm using Cygwin bash on Windows 10.
My... (3 Replies)
Hello all,
I am facing a weird issue while executing a code below -
#!/bin/bash
cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset
sh UKBA_publish.sh UKBA 28082015 3
if
then
echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below.
#masterscript.sh
./callingscript.sh
echo $fileExist
#callingscript.sh
echo "The script is called"... (2 Replies)
I am using blow script :--
#!/bin/bash
FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not
if
then
# echo "process found"
exit 0;
else
echo "process not found"
exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Hi guys
I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file.
#!/bin/sh
echo " $2 $3 $4 $5 $6 $7
isql -w400 -U$2 -S$5 -P$3 << xxx
use $4
go
print"**Changes to the table... (0 Replies)