12-04-2010
loop difficulty
ctsgnb! you so kind and helped me alot to understand more unix.
I would like to ask if we have e.g 7 or less names and we want to select three names of them in one go and test them that are included in our pre-created names(for example they are file names),what is the best solution?I have used IF statement but it seems very long statement as I had to test it for each name (for example each variable should not be blank or other things).my question is do we need to check each variable or there is simple way exist?
for example:
echo "benz bmw gms nissan polo"
echo "select four names out these names:\c"
read name1 name2 name3
while [[ $name1 = "" ]]
do
echo "no entry"
read name1 name2 name3
while [[ $name2 = "" ]]
do
echo "no entry"
echo "Please enter your choices: \c"
read name1 name2 name3
while [[ $name3 = "" ]]
do
echo "no entry"
echo "please enter your choices:\c"
read name1 name2 name3
if [[ -f $name1 ]]
then
echo "$name1"
else
echo "$name1 does not exist"
fi
if [[ -f $name2 ]]
then
echo "$name2"
else
echo "$name2 does not exist"
fi
if [[ -f $name3 ]]
then
echo "$name3"
else
echo "$name3 does not exist"
fi
done
It would be so appreciated if you can see where I am in wrong place?
Regards
9 More Discussions You Might Find Interesting
1. Post Here to Contact Site Administrators and Moderators
Hi,
I have a problem in pasting a url in the thread. I tried many a times and i keep failing.
Can u tell me what's wrong?
I go by the instructions that appear after clicking the http:// but still i fail. The link does not appear properly in the threads that i post.
Thanks,
Nisha (3 Replies)
Discussion started by: Nisha
3 Replies
2. UNIX for Dummies Questions & Answers
Hi,
I would be very happy if someone could help me please. I am relatively new to UNIX, and still learning.
My understanding of things are:
Say I have a PC running Windows. This machine has a name. If I have 10 PC's, then I have 10 names, one for each PC. Each PC is independent of the other.... (4 Replies)
Discussion started by: ALon
4 Replies
3. UNIX for Dummies Questions & Answers
Hi
I am trying to set up two hosts in a reverse proxy. The reverse proxy already has 8 servers running perfectly, but they are all simply mapping pure addresses, which I have registered internally and externally.
The latest two I wish to add are a bit different, they are app servers, one... (1 Reply)
Discussion started by: rboekdrukker
1 Replies
4. Shell Programming and Scripting
Hi,
I am trying to upload a file to a SQL database table. The column type is IMAGE. I am looking for a solution to upload a word doc file. I tried 3 approaches.
1) my $fileToStore = "mytest.doc";
open IPFILE, "<", $name;
binmode IPFILE;
while (<IPFILE>)
{
$fileToStore .= $_;
}
close... (1 Reply)
Discussion started by: b.paramanatti
1 Replies
5. Shell Programming and Scripting
a file containing following data (part of it)....
1907594 201012 31 11
5837737 201012 41 18
257402.88 201101 31 11
7500 201101 33 1
115618.5 201101 41 11
556330 201102 31 12
481783.5 201102 41 20
2827732.13 201103 31 71
85253 201103 33 2
4479588.07 201103 41 90
7120 201104 21 1
... (4 Replies)
Discussion started by: guptam
4 Replies
6. Shell Programming and Scripting
hello folks,
i am stuck with this awk command. i need to calculate the sum of a column of values on a flatfile and i am using the following command :
awk -F"|" '{x += $10} END {print "Sum: "x}' standard_csv_file1.out
that flatfile contains 180 fields and i am getting the... (5 Replies)
Discussion started by: jdsony
5 Replies
7. Shell Programming and Scripting
Hi,
I have used the following command to get result using some program and got desired output but I am unable to understand the last part: sort -k5,5 -rn|head -n 10
grep Centre groups.dat |sort -k5,5 -rn|head -n 10
Please guide.
Thanks (2 Replies)
Discussion started by: bioinfo
2 Replies
8. UNIX for Dummies Questions & Answers
Hi ,
i have a shell script with the first two lines as
#! /bin/ksh
set -x
when i try opening the file from unix using the command 'sh filename.sh' , i am getting the below error :
invalid optionline 2: set: -
Pls help
Use code tags for you code and data... (1 Reply)
Discussion started by: Rajankum
1 Replies
9. Shell Programming and Scripting
I have not been able to append the contents of many files into one file. I have executed the CAT command shown below separately substituting an actual path and file name for the array variable to verify that I have the syntax correct. The bottom line - nothing is happening with CAT. I am running... (16 Replies)
Discussion started by: demmith
16 Replies
LINK(2) BSD System Calls Manual LINK(2)
NAME
link -- make a hard file link
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
int
link(const char *name1, const char *name2);
int
linkat(int fd1, const char *name1, int fd2, const char *name2, int flags);
DESCRIPTION
The link() function call atomically creates the specified directory entry (hard link) name2 with the attributes of the underlying object
pointed at by name1. If the link is successful: the link count of the underlying object is incremented; name1 and name2 share equal access
and rights to the underlying object.
If name1 is removed, the file name2 is not deleted and the link count of the underlying object is decremented.
name1 must exist for the hard link to succeed and both name1 and name2 must be in the same file system. name1 may not be a directory unless
the caller is the super-user and the file system containing it supports linking to directories.
When operating on a symlink, link() resolves the symlink and creates a hard link on the target. linkat() will do the same if
AT_SYMLINK_FOLLOW is set in flags, but it will link on the symlink itself if the flag is clear.
At the moment, linkat() is partially implemented. It will return ENOSYS for fd1 and fd2 values different than AT_FDCWD.
RETURN VALUES
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.
ERRORS
link() will fail and no link will be created if:
[EACCES] A component of either path prefix denies search permission, or the requested link requires writing in a directory with a
mode that denies write permission.
[EDQUOT] The directory in which the entry for the new link is being placed cannot be extended because the user's quota of disk
blocks on the file system containing the directory has been exhausted.
[EEXIST] The link named by name2 does exist.
[EFAULT] One of the pathnames specified is outside the process's allocated address space.
[EIO] An I/O error occurred while reading from or writing to the file system to make the directory entry.
[ELOOP] Too many symbolic links were encountered in translating one of the pathnames.
[EMLINK] The link count of the file named by name1 would exceed {LINK_MAX}.
[ENAMETOOLONG] A component of a pathname exceeded {NAME_MAX} characters, or an entire path name exceeded {PATH_MAX} characters.
[ENOENT] A component of either path prefix does not exist, or the file named by name1 does not exist.
[ENOSPC] The directory in which the entry for the new link is being placed cannot be extended because there is no space left on the
file system containing the directory.
[ENOTDIR] A component of either path prefix is not a directory.
[EOPNOTSUPP] The file system containing the file named by name1 does not support links.
[EPERM] The file named by name1 is a directory and the effective user ID is not super-user, or the file system containing the file
does not permit the use of link() on a directory.
[EROFS] The requested link requires writing in a directory on a read-only file system.
[EXDEV] The link named by name2 and the file named by name1 are on different file systems.
SEE ALSO
symlink(2), unlink(2)
STANDARDS
The link() function conforms to ISO/IEC 9945-1:1990 (``POSIX.1'').
BUGS
linkat() is partially implemented.
BSD
January 12, 1994 BSD