This is expected behavior. If there is too much input then the last lines never get read. If there is no more input on stdin then the other values get empty values. It is up to the script to provide additional checks..
One approach may be to provide an alternative source if the first one dries up. For example:
or
Last edited by Scrutinizer; 07-20-2014 at 09:49 AM..
This User Gave Thanks to Scrutinizer For This Post:
I'm trying to pass a filename, or all the files in the current directory to the ls command with a script. Unsuccessful so far, here are a few of my attempts:
#!/bin/ksh
read fname
#if (( $# > 0 )); then
$fname | ls -l
#fi
this produces a long listing of all the files in my current... (4 Replies)
Hi,
I have a script which adds the user credentials to an ldap server. Im passing the variables as below..
/path/my_script $uname $pwd $environ ${deposit}
If i enter some special characters like ';' in $pwd, script returns an error which is set to display if the user enters... (5 Replies)
Hi
I have a script to which I pass multiple arguments, for example lets say the script name is "abc". I run the script like
./abc def /file <directory location>
In the above "def" is the first argument and "/file" is the second argument. I expect <directory location> that is passed after... (4 Replies)
I need to pass arguments to a shell script.My batch is calling some java program.
#################
x=$1
y=$2
java -classpath program
###################
if first parameter and second parameter is null then
java -classpath program
if first parameter is not null and second parameter is... (3 Replies)
Hi ..
Can any one please tell how to pass argument to shell script at runtime?
I want to implement funcnality just like bc, where we can provide input while script is running and can be used later in the same script.
Thanks in advance... (1 Reply)
Is there any way I could pass arguments to shellcode. My goal is to store a program in a image file, and have another program read and run the code with arguments in memory.
Currently I can store a program in a image file, then read it back to the hard-drive run it normally then delete it when... (5 Replies)
I have an for loop that reads the following file
cat param.cfg
val1:env1:opt1
val2:env2:opt2
val3:env3:opt3
val4:env4:opt4
.
.
The for loop extracts the each line of the file so that at any one point, the value of i is
val1:env1:opt1 etc...
I would like to extract each... (19 Replies)
Hi,
i have a file.txt with data
Bangalore
Chennai
Hyd
filename of the script is: new.sh
result=`cat file.txt | grep $1`
if
then
echo pass
else
echo fail
fi
i am executing the file in the cmd line as "sh new.sh Bangalore"
o/p is pass
if i give "sh new.sh delhi"
o/p is... (6 Replies)
hi All,
i am trying to pass arguments that contain space , value will be stored in variables to be used further in script , i went thru previous posting , still its not clear to how to implement for my case.
passing 3 args
test.sh it is 'fun to work in unix'
inside shell
... (3 Replies)
Dear Users,
I have installed a standalone program to do multiple sequence alignment which takes user parameters to run the program. I have multiple sequence files and want to automate this process through a bash script. I have tried to write a small bash code but its throwing errors.
Kindly... (13 Replies)
Discussion started by: biochemist
13 Replies
LEARN ABOUT REDHAT
getpass
GETPASS(3) Linux Programmer's Manual GETPASS(3)NAME
getpass - get a password
SYNOPSIS
#include <unistd.h>
char *getpass( const char * prompt );
DESCRIPTION
This function is obsolete. Do not use it.
The getpass() function opens /dev/tty (the controlling terminal of the process), outputs the string prompt, turns off echoing, reads one
line (the "password"), restores the terminal state and closes /dev/tty again.
RETURN VALUE
The function getpass returns a pointer to a static buffer containing the (first PASS_MAX bytes of) the password without the trailing new-
line, terminated by a NUL. This buffer may be overwritten by a following call. On error, the terminal state is restored, errno is set
appropriately, and NULL is returned.
ERRORS
The function may fail if
ENXIO The process does not have a controlling terminal.
NOTES
For libc4 and libc5, the prompt is not written to /dev/tty but to stderr. Moreover, if /dev/tty cannot be opened, the password is read
from stdin. The static buffer has length 128 so that only the first 127 bytes of the password are returned. While reading the password,
signal generation (SIGINT, SIGQUIT, SIGSTOP, SIGTSTOP) is disabled and the corresponding characters (usually control-C, control-, control-
Z and control-Y) are transmitted as part of the password. Since libc 5.4.19 also line editing is disabled, so that also backspace and the
like will be seen as part of the password.
For glibc2, if /dev/tty cannot be opened, the prompt is written to stderr and the password is read from stdin. There is no limit on the
length of the password. Line editing is not disabled.
According to the SUSv2, the value of PASS_MAX must be defined in <limits.h> in case it is smaller than 8, and can in any case be obtained
using sysconf(_SC_PASS_MAX). However, POSIX.2 withdraws the constants PASS_MAX and _SC_PASS_MAX, and the function getpass (). Libc4 and
libc5 have never supported PASS_MAX or _SC_PASS_MAX. Glibc2 accepts _SC_PASS_MAX and returns BUFSIZ (e.g., 8192).
FILES
/dev/tty
SEE ALSO crypt(3)HISTORY
A getpass function appeared in Version 7 AT&T UNIX.
BUGS
The calling process should zero the password as soon as possible to avoid leaving the cleartext password visible in the process's address
space.
Linux Manpage 2000-12-05 GETPASS(3)