I cut and pasted your code and it works fine for me (reading with -n 1). Is it possible that the version of bash that is being invoked isn't the same one executed as your login shell?
You could try something like this that doesn't depend on reading character by character:
Code:
while read buf
do
vbuf="${buf//[^aeiouAEIOU]/}"
v=$(( v + ${#vbuf} ))
done <$file
echo "$v vowels"
Hello.
Consider the following magic words:
# ls `which adduser`
ls: /usr/sbin/adduser: No such file or directory
#
Hmmm...
Then:
# ls /usr/sbin/adduser
/usr/sbin/adduser
#
Now what?
Unforunately this little sniippet is used in my debian woody server's mysql pre install script.... (2 Replies)
I have a script with a find command using xargs to copy the files found to another directory. The find command is finding the appropriate file, but it's not copying. I've checked permissions, and those are all O.K., so I'm not sure what I'm missing. Any help is greatly appreciated.
This is... (2 Replies)
I've been trying to figure this out since last night, and I'm just stumped. The last time I did any shell scripting was 8 years ago on a Unix box, and it was never my strong suit. I'm on a Mac running Leopard now. Here's my dilemma - hopefully someone can point me in the right direction.
I'm... (10 Replies)
I need to sort through a volume that contains video files by access time and delete files that have not been accessed over x days. I have to use the access time as video files are originals that do not get modified, just read
Testing commands on a local test folder...
$ date
Wed Sep 28... (10 Replies)
I have a script that has to execute a read command in a function, this is in an ash busybox.
The code is...
trapcatch () { echo "Ctl-c Detected, what do you want to do?"
echo "Please choose the number of one of the following options"
echo "1. Jump past this Set"
echo "2. Exit... (8 Replies)
Hi, I'm having trouble with a simple copy command in a script on HPUX.
I am trying to copy a file and append date & time.
The echo command prints out what I am expecting..
echo "Backing up $file to $file.$DATE.$FIXNUM" | tee -a $LOGFILE
+ echo 'Backing up... (4 Replies)
Following one line of awk code removes first 3 characters from each line but when I run the same code on another linux platform it doesn't work and only prints blank lines for each record. Can anyone please explain why this doesn't work? (31 Replies)
I'm having an issue with bash read input when using a case statement.
The script halts and doesn't read the input on the first loop. if I hit enter then the scripts starts to respond as expected. Need some help here.
defaultans=8hrs
read -e -i $defaultans -p "${bldwht}How long would you like... (5 Replies)
Hi,
I have a script below that is running ssh <host> <command> on some servers.
Below is more or less the script. I have to modify it somehow to get rid of the 'confidential' hostnames
check_log.bash
#!/bin/bash
#
myPID=$$
parse_log ()
{
sub="parse_log"
host=${1}
... (2 Replies)
Discussion started by: newbie_01
2 Replies
LEARN ABOUT DEBIAN
io_tryread
io_tryread(3) Library Functions Manual io_tryread(3)NAME
io_tryread - read from a descriptor without blocking
SYNTAX
#include <io.h>
int io_tryread(int64 fd,char* buf,int64 len);
DESCRIPTION
io_tryread tries to read len bytes of data from descriptor fd into buf[0], buf[1], ..., buf[len-1]. (The effects are undefined if len is 0
or smaller.) There are several possible results:
o o_tryread returns an integer between 1 and len: This number of bytes was available for immediate reading; the bytes were read into the
beginning of buf. Note that this number can be, and often is, smaller than len; you must not assume that io_tryread always succeeds in
reading exactly len bytes.
o io_tryread returns 0: No bytes were read, because the descriptor is at end of file. For example, this descriptor has reached the end of
a disk file, or is reading an empty pipe that has been closed by all writers.
o io_tryread returns -1, setting errno to EAGAIN: No bytes were read, because the descriptor is not ready. For example, the descriptor is
reading an empty pipe that could still be written to.
o io_tryread returns -3, setting errno to something other than EAGAIN: No bytes were read, because the read attempt encountered a persis-
tent error, such as a serious disk failure (EIO), an unreachable network (ENETUNREACH), or an invalid descriptor number (EBADF).
io_tryread does not pause waiting for a descriptor that is not ready. If you want to pause, use io_waitread or io_wait.
You can make io_tryread faster and more efficient by making the socket non-blocking with io_nonblock().
SEE ALSO io_nonblock(3), io_waitread(3), io_tryreadtimeout(3)io_tryread(3)