Why not just use nmap? It's the right tool for this sort of task.
Anyway, after having a quick look at your script, I came up with:
Logic: Try and change things around so you have multiple nc commands running at once (in the background). After all, the majority of the runtime for a task like this is spent wating for the reply packets.
Instead of date | awk '{print $2" "$3" "$4" "$6}', you can use date "+%d %b, %Y %T"
On this command:
tr is pretty unlikley to produce any output on stderr, you probably want:
Hey, I'm writing this bash script that will test print me many copies of the same program but with different combos of 4 variables being between 1 and 100. Here's the code:
#! /bin/bash
x=0
for ((a=1; a < 101; a++))
do
for ((b=1; b < 101; b++))
do
for ((c=1; c < 101; c++))
do
for... (4 Replies)
Good morning - I have publication lists from 34 different faculty members. I need to end up with the numbers of publications in common across all 34 faculty.
I need to grep person1 (last name) in list2, person1 in list3, person1 in list 4, etc., then person2 in list3, person 2 in list4, etc.,... (2 Replies)
I have to to read files simultaneously in two nested loops,but am getting error can anyone do the needful.
useridFile=userIds.txt
fname=kiran.txt
exec<$useridFile
while read line
do
echo "User IDs are..$line"
USER_ID=$line
REMOTE_DIR_LOCATION="/home/test/$USER_ID"
SOURCE_DIR=$USER_ID... (1 Reply)
I need help getting over this bump on how nested for loops work in shell. Say i was comparing files in a directory in any other language my for loop would look like so
for(int i=0;to then end; i++)
for(int y = i+1; to the end; y++)
I can't seem to understand how i can translate that... (5 Replies)
You can use one while inside another?
I made the following script (without really knowing if I can use two while) to get 3 numbers different from each other at random:
num1=$(( $RANDOM % 10 ))
num2=$num1
while
do
num2=$(( $RANDOM % 10 ))
done
num3=$num1
while
do
while
do... (1 Reply)
Ok... am going slightly loopy trying to get this working (no pun intended)
What I need is to modify this code which takes a string input then echo's each character on a seperate line, to do the same thing but to put DIGIT: in front of numbers and LETTER: in front of letters.
I know a regular... (5 Replies)
KSH isn't my strong suit but it's what my company has to offer. I've got a script with two nested loops, a FOR and UNTIL, and that works fine. When I add a CASE into the mix I end up getting "Unexpected 'done' at line xx" errors. Any suggestions on this?
for divi in at ce ci cm co de di fl... (9 Replies)
Hi experts,
I just want to know if there is a better solution to my nested while read loops below:
while read line; do
while read line2; do
while read line3; do
echo "$line $line2 $line3"
done < file3.txt
done < file2.txt
done < file1.txt >... (4 Replies)
Greetings All,
The following script attempts to enumerate all users in all groups in the group file(GROUP) and echo the following information:
GROUP ---> USER
The script is as follows:
IFS=","
for GROUP in `ypcat -k group | cut -d" " -f1`
do
for USER in `ypcat -k group... (13 Replies)
It's been a while since I used csh formatting and I am having a little bit of trouble with a few things. Things seem so much easier to execute in Matlab, however I need to do this on the terminal because of the programs I am trying to interact with.
So here's what I want to do: I have a file... (0 Replies)
Discussion started by: katia
0 Replies
LEARN ABOUT MOJAVE
shlock
SHLOCK(1) BSD General Commands Manual SHLOCK(1)NAME
shlock -- create or verify a lock file for shell scripts
SYNOPSIS
shlock [-du] [-p PID] -f lockfile
DESCRIPTION
The shlock command can create or verify a lock file on behalf of a shell or other script program. When it attempts to create a lock file, if
one already exists, shlock verifies that it is or is not valid. If valid, shlock will exit with a non-zero exit code. If invalid, shlock
will remove the lock file, and create a new one.
shlock uses the link(2) system call to make the final target lock file, which is an atomic operation (i.e. "dot locking", so named for this
mechanism's original use for locking system mailboxes). It puts the process ID ("PID") from the command line into the requested lock file.
shlock verifies that an extant lock file is still valid by using kill(2) with a zero signal to check for the existence of the process that
holds the lock.
The -d option causes shlock to be verbose about what it is doing.
The -f argument with lockfile is always required.
The -p option with PID is given when the program is to create a lock file; when absent, shlock will simply check for the validity of the lock
file.
The -u option causes shlock to read and write the PID as a binary pid_t, instead of as ASCII, to be compatible with the locks created by
UUCP.
EXIT STATUS
A zero exit code indicates a valid lock file.
EXAMPLES
BOURNE SHELL
#!/bin/sh
lckfile=/tmp/foo.lock
if shlock -f ${lckfile} -p $$
then
# do what required the lock
rm ${lckfile}
else
echo Lock ${lckfile} already held by `cat ${lckfile}`
fi
C SHELL
#!/bin/csh -f
set lckfile=/tmp/foo.lock
shlock -f ${lckfile} -p $$
if ($status == 0) then
# do what required the lock
rm ${lckfile}
else
echo Lock ${lckfile} already held by `cat ${lckfile}`
endif
The examples assume that the file system where the lock file is to be created is writable by the user, and has space available.
HISTORY
shlock was written for the first Network News Transfer Protocol (NNTP) software distribution, released in March 1986. The algorithm was sug-
gested by Peter Honeyman, from work he did on HoneyDanBer UUCP.
AUTHORS
Erik E. Fair <fair@clock.org>
BUGS
Does not work on NFS or other network file system on different systems because the disparate systems have disjoint PID spaces.
Cannot handle the case where a lock file was not deleted, the process that created it has exited, and the system has created a new process
with the same PID as in the dead lock file. The lock file will appear to be valid even though the process is unrelated to the one that cre-
ated the lock in the first place. Always remove your lock files after you're done.
BSD June 29, 1997 BSD