Problem in string comparison


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem in string comparison
# 1  
Old 10-03-2013
Problem in string comparison

guys , i am using inotify for monitoring one directory to check core file generation , my snippet of code is follows

Code:
#!/bin/bash
DIR=$1

inotifywait -q -e create -m $DIR  | while read path events name;
 do
  if [ [$name == 'core.*'] ]; then
  echo "Now I am going to do something with $name in directory $path."
  fi
done

my i expectation is to check all the new file creation with core.* ,
but i am getting error as "
Code:
line 6: [: too many arguments

"

please help me to fix it

Last edited by Scrutinizer; 10-03-2013 at 03:02 PM.. Reason: Well done with the code tags; I put some more around the error message
# 2  
Old 10-03-2013
Use code tags as required by forum rules!

Without code tags we can't see the spaces within/around your [[ ... ]] construct. Looks like you've got a space too many...
This User Gave Thanks to RudiC For This Post:
# 3  
Old 10-03-2013
Quote:
Originally Posted by RudiC
Use code tags as required by forum rules!

Without code tags we can't see the spaces within/around your [[ ... ]] construct. Looks like you've got a space too many...
thanks for the input , i edited the post.
# 4  
Old 10-03-2013
There's still a space too many...
# 5  
Old 10-03-2013
am not sure , i just copied from my scri[t and pasted insider code tag.

basically i need to put condition in if to check new file created in "core.*"
# 6  
Old 10-03-2013
If I am understanding your snippet correctly, (longhand, OSX 10.7.5, default bash terminal)...
I am not sure your code will do what you expect it to do:-
Code:
AMIGA:barrywalker~> name="core.txt"
AMIGA:barrywalker~> if [[ "$name" == "core.*" ]]; then echo "OK"; fi
AMIGA:barrywalker~> name="core.*"
AMIGA:barrywalker~> if [[ "$name" == "core.*" ]]; then echo "OK"; fi
OK
AMIGA:barrywalker~> if [[ $name == core.* ]]; then echo "OK"; fi
OK
AMIGA:barrywalker~> if [[ $name == 'core.*' ]]; then echo "OK"; fi
OK
AMIGA:barrywalker~> name="core.txt"
AMIGA:barrywalker~> if [[ $name == core.* ]]; then echo "OK"; fi
OK
AMIGA:barrywalker~> if [[ $name == 'core.*' ]]; then echo "OK"; fi
AMIGA:barrywalker~> _


Last edited by wisecracker; 10-03-2013 at 02:55 PM.. Reason: Typo "al" should be "am"...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk string comparison unterminated quoted string andrule of thumb

I have the logic below to look up for matches within the columns between the two files with awk. In the if statement is where the string comparison is attempted with == The issue seems to be with the operands, as 1. when " '${SECTOR}' " -- double quote followed by single quote -- awk matches... (1 Reply)
Discussion started by: deadyetagain
1 Replies

2. Homework & Coursework Questions

passing letters from an array into a string for string comparison

attempting the hangman program. This was an optional assignment from the professor. I have completed the logical coding, debugging now. ##I have an array $wordString that initializes to a string of dashes ##reflecting the number of letters in $theWord ##every time the user enters a (valid)... (5 Replies)
Discussion started by: lotsofideas
5 Replies

3. Shell Programming and Scripting

to extract string from main string and string comparison

continuing from my previous post, whose link is given below as a reference https://www.unix.com/shell-programming-scripting/171076-shell-scripting.html#post302573569 consider there is create table commands in a file for eg: CREATE TABLE `Blahblahblah` ( `id` int(11) NOT NULL... (2 Replies)
Discussion started by: vivek d r
2 Replies

4. Shell Programming and Scripting

String comparison problem

Hi, can someone please help me!!! urgent! I have a strange issue here. I grep for 2 strings from a txt files and compare the string value. Though the string values are the same, they are compared as different values. Please help Case-1 -------- Here I grep for 2 different field values... (3 Replies)
Discussion started by: vani123
3 Replies

5. Shell Programming and Scripting

Help with string comparison

#!/bin/sh PRINTF=/usr/bin/printf MACHINE_NAME=`uname -n` TIME=`date +"%H"` $PRINTF "Welcome to $MACHINE_NAME. What is your name?\n" read NAME if ; then $PRINTF "Good morning $NAME, how are you?\n" elif ; then $PRINTF "Good afternoon $NAME, how are you?\n" else $PRINTF "Good... (2 Replies)
Discussion started by: ikeQ
2 Replies

6. Shell Programming and Scripting

String comparison

Hi, I have the below logic. Here 'X' is a variable having some string. if then echo "i dont need to go to ofc" else echo "i need to go to ofc" Please help me to write it in unix. Thanks. (2 Replies)
Discussion started by: 46019
2 Replies

7. UNIX for Dummies Questions & Answers

string comparison

Hi Guys i need to write a script to check the file structure I have added the the file headers in the configuration file and execute the file at the start of the script. Now the function checkFileStructure() { echo "Inside the function" filetocheck=$1 fileheader=$2 if ] then... (1 Reply)
Discussion started by: Swapna173
1 Replies

8. Shell Programming and Scripting

problem in string comparison in shell programming

Hello, was just wondering how to compare strings in unix? I mean as in C there is a function strcmp() in string.h, is there any function in unix for that? I tried using if and all such variations but didn't succeed. Any help would be appreciated. Thanks in advance :) (9 Replies)
Discussion started by: salman4u
9 Replies

9. AIX

Problem in ksh script ( String comparison )

hi , i am trying to compre two strings if ] or if ] when the length of var1 is small (around 300-400 char ) it works fine but when it is large (around 900-1000 chars) it fails is there any limitations for this type of comparison ??? (1 Reply)
Discussion started by: amarnath
1 Replies

10. Shell Programming and Scripting

Problem in ksh script ( String comparison )

hi , i am trying to compre two strings if ] or if ] when the length of var1 is small (around 300-400 char ) it works fine but when it is large (around 900-1000 chars) it fails is there any limitations for this type of comparison ??? (3 Replies)
Discussion started by: amarnath
3 Replies
Login or Register to Ask a Question