02-11-2002
"Why" is a tough question to answer.
But the Korn shell corrected this problem and several others by introducing the [[ syntax:
while [[ $response = [Yy]* ]]
will work. And there is no need to quote $response. Unlike the "[" command, "[[" works fine if $response is empty.
And a warning:
while [[ [Yy]* = $response ]]
will not work. The pattern must be on the right of the equals sign.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I want to display an asterisk to the screen as part of a string. I know how to use the Backslash to escape it's value. But how do I display it without showing the Backslash? (1 Reply)
Discussion started by: regencyabs
1 Replies
2. Shell Programming and Scripting
Hello,
I have a question, please (I am using tcsh).
I thought that if you enclose something in double quotes, then the shell won't interpret it. For example, when I do:
% echo "ls *"
I get
ls *
However, if I do:
% echo "!l"
I get
echo "ls -F"
ls -F (3 Replies)
Discussion started by: A1977
3 Replies
3. Shell Programming and Scripting
:confused:Hi ,
Can someone please advise what is the meaning of metacharacters in below code?
a_PROCESS=${0##*/}
a_DPFX=${a_PROCESS%.*}
a_LPFX="a_DPFX : $$ : "
a_UPFX="Usage: $a_PROCESS"
Regards,
gehlnar (3 Replies)
Discussion started by: gehlnar
3 Replies
4. Shell Programming and Scripting
I'm trying to create a bash script that takes a URL as one of its arguments like this:
./script.sh http://url.cfm?asdf&asdf=234
variable=$1
echo $variable
I'm having trouble storing the URL because it contains the meta character "&" which is being interpreted... thus when I run the... (4 Replies)
Discussion started by: kds1398
4 Replies
5. Shell Programming and Scripting
If I have a filename as
filename.txt.20090807
and I use
for FILE in `find . -name "filename*" -type f`
do
my_time=${FILE#./filename.txt.}
I get my output as 20090807
However if my filename is
filename.Y20090807.txt
Is there a way I can use metacharacters in my... (3 Replies)
Discussion started by: RubinPat
3 Replies
6. UNIX for Dummies Questions & Answers
Hello. I am learning how to use Unix through an online course. Unfortunately the text that we use isn't very good, so I could use some help with a pretty basic question.
Use metacharacters and the ll command to list all filenames under the datafiles directory that contain a dot "." with the... (2 Replies)
Discussion started by: feverdream
2 Replies
7. Shell Programming and Scripting
Hi, all.
I have a need to take a flat file FTP'd from Windows to Unix and convert it for loading into a MySQL database without manual intervention. However, some characters are "fancified" (e.g. the fancy Beginning and End double-quotes from Windows) that show up as codes using vi. I need to... (4 Replies)
Discussion started by: superdelic
4 Replies
8. Shell Programming and Scripting
I have prepared a script to submit a string in a txt file.
However there are somethings that I have to check before submitting the string in the txt file.
One of those checks is to determine whether the string entered contains any metacharacters.
I have tried sth like;
echo "string" | grep -v ... (3 Replies)
Discussion started by: ozum
3 Replies
9. UNIX for Dummies Questions & Answers
1) I want to display all the files in a directory that start with the word chapter, are followed by a digit 1,2,6,8, or 9 and end with .eps or .prn
so I came up with this
file ~/temp/chapter.eps ~/temp/chapter.prn
but is there a better way, i.e. combining both file types into the command?
... (2 Replies)
Discussion started by: dunsta
2 Replies
10. Shell Programming and Scripting
I am currently reading a very old reference from O'Reilly: Sed and Awk 2nd Edition reprinted in 2000. So far, it's a solid read and still very relevant. I'd highly recommend this to anyone.
The only problem I have with this book is that I had to resort to bourne shell to get my examples to work... (3 Replies)
Discussion started by: ConcealedKnight
3 Replies
rpmatch(3) Library Functions Manual rpmatch(3)
NAME
rpmatch - Determines whether a response is affirmative or negative
LIBRARY
Standard C Library (libc.a)
SYNOPSIS
#include <stdlib.h>
int rpmatch( const char *response);
PARAMETERS
User input entered in response to a question that requires an affirmative or negative answer.
DESCRIPTION
The rpmatch() function determines whether the string value of the response parameter matches the affirmative or negative response expres-
sion as specified by the LC_MESSAGES category in the program's current locale. Both response expressions, defined in the locale, may be
extended regular expressions.
A possible value of the affirmative expression, yesexpr, for a English-language locale is "^([yY]|[yY][eE][sS])". This expression will
match any value of the response parameter that has consists of the letter Y (in uppercase or lowercase) or the letters YES (in any mixture
of uppercase and lowercase letters).
EXAMPLES
The following example requests a response from the user and uses the rpmatch() function to determine if the response is affirmative or neg-
ative.
#include <stdlib.h> #include <stdio.h> #include <locale.h> #include <string.h> #define SLENGTH 80
main() {
char str[SLENGTH], *eol;
int ans;
(void)setlocale(LC_ALL, "");
printf("Do you want to perform this operation: ");
fgets(str, SLENGTH, stdin);
if ((eol = strchr(str, '
')) != NULL)
*eol = '