Sponsored Content
Top Forums Shell Programming and Scripting Script to check if file exists Post 302425662 by pseudocoder on Friday 28th of May 2010 10:07:15 PM
Old 05-28-2010
Looks like you're using a wrong operator (-a)... -a stands for the logical AND.
You probably want to use the -e operator; This one checks if a file exists.

Try something like:
Code:
if [ ! -e /usr/mydirectory/filetolookfor.txt ] 
then
mail -s 'blah blah blah' your@email.add
fi

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

unix script to check whether particular file exists and to find its size

I want to find the size of particular file exists in a particular directory and i wnt to zip it. In the below mentioned code it should check the MQ.log in the particular directory.Please correct my code so that it will check for particular MQ.log but i could not able to check whether the... (9 Replies)
Discussion started by: Balachandar
9 Replies

2. Shell Programming and Scripting

Check File Exists and compare to previous day file script

We have data files that are ftp'd every morning to a SUN server. The file names are exactly the same except for that each has the date included in its name. I have to write script to do 2 things: STEP 1) Verify that the file arrived in morning. STEP 2) Compare the file size of the current... (3 Replies)
Discussion started by: rbknisely
3 Replies

3. Shell Programming and Scripting

Shell script to check if any file exists in 4 folders

Hi All, working on AIX 5.3. Requirement is: Shell script in ksh to check if any file exists in 4 folders as below: 1. /FILE/INB/INT1 2. /FILE/INB/INT2 3. /FILE/INB/INT3 4. /FILE/INB/INT4 Thanks a lot for your time! a1_win. (3 Replies)
Discussion started by: a1_win
3 Replies

4. Shell Programming and Scripting

Script to check for the file existence, if file exists it should echo the no of modified days

Hi, I am looking for a shell script with the following. 1. It should check whether a particular file exists in a location #!/bin/sh if ; then echo "xxx.txt File Exists" else echo "File Not Found" fi 2. If file exists, it should check for the modified date and run a command... (2 Replies)
Discussion started by: karthikeyan_mac
2 Replies

5. Shell Programming and Scripting

Script to check file exists

Hi, I am trying to write a script which checks if any file exists with "*.log" or "*.out" in Directory below is the code #------------------ path=/abd/xyz/ if ; then echo "Good" else echo "Failure" fi #-------------------------- its always going to else part and printing... (8 Replies)
Discussion started by: ch33ry
8 Replies

6. Shell Programming and Scripting

how to check to see if a file exists?

I want to write a script to see if various files exist. What I want to do is have the script search in various directories if a file exist, and if not, then output something like "/path/file does not exist". I don't actually know of how to check and see if a file exists or not. What I have in mind... (2 Replies)
Discussion started by: astropi
2 Replies

7. Shell Programming and Scripting

File exists, but cannot be opened.How to check- whether it could be opened to read when it exists

Hi #Testing for file existence if ; then echo 'SCHOOL data is available for processing' else echo 'SCHOOL DATA IS NOT AVAILABLE FOR PROCESSING' : i wrote a script, where it begins by checking if file exists or not. If it exists, it truncates the database... (2 Replies)
Discussion started by: rxg
2 Replies

8. Shell Programming and Scripting

Check if file exists or not

Hi, I want to check if the file exists or not in the directory. i am trying below code but not working. File="/home/va59657/Account_20090213*.dat" echo "$File" if ]; then echo "file found" else echo "file not found" fi However i am getting file not found even if file exits as... (5 Replies)
Discussion started by: Vivekit82
5 Replies

9. Shell Programming and Scripting

Except script fails to check file exists or not in remote node

Dear members, The following expect script connects to remote node and check for the file "authorized_keys" in directory /root/.ssh in remote node. However the result is always found even if the file exist or doesn't exist. expect { "$fname" { send_user "found\n" } Any idea what is... (4 Replies)
Discussion started by: Sudhakar333
4 Replies

10. Shell Programming and Scripting

Shell script which will check the target file and folder exists and copy it

Hi All, I am a beginner in this and trying to write a shell script in linux which will : 1. Ask for a file name and check if its exists. 2. If file exists only then it will ask for the new target folder, after entering target folder name it will check if it exists. 3. If target folder... (3 Replies)
Discussion started by: ashish_neekhra
3 Replies
JE::Parser(3pm) 					User Contributed Perl Documentation					   JE::Parser(3pm)

NAME
JE::Parser - Framework for customising JE's parser SYNOPSIS
use JE; use JE::Parser; $je = new JE; $p = new JE::Parser $je; # or: $p = $je->new_parser $p->delete_statement('for', 'while', 'do'); # disable loops $p->add_statement(try => &parser); # replace existing 'try' statement DESCRIPTION
This allows one to change the list of statement types that the parser looks for. For instance, one could disable loops for a mini- JavaScript, or add extensions to the language, such as the 'catch-if' clause of a "try" statement. As yet, "delete_statement" works, but I've not finished designing the API for "add_statement". I might provide an API for extending expressions, if I can resolve the complications caused by the 'new' operator. If anyone else wants to have a go at it, be my guest. :-) METHODS
$p = new JE::Parser Creates a new parser object. $p->add_statement($name, &parser); This adds a new statement (source element, to be precise) type to the list of statements types the parser supports. If a statement type called $name already exists, it will be replaced. Otherwise, the new statement type will be added to the top of the list. ($name ought to be optional; it should only be necessary if one wants to delete it afterwards or rearrange the list.) If the name of a statement type begins with a hyphen, it is only allowed at the 'program' level, not within compound statements. Function declarations use this. Maybe this convention is too unintuitive.... (Does anyone think I should change it? What should I change it too?) &parser will need to parse code contained in $_ starting at "pos()", then either return an object, list or coderef (see below) and set "pos()" to the position of the next token[1], or, if it could not parse anything, return undef and reset "pos()" to its initial value if it changed. [1] I.e., it is expected to move "pos" past any trailing whitespace. The return value of &parser can be one of the following: 1) An object with an "eval" method, that will execute the statement, and/or an "init" method, which will be called before the code runs. 2) (Not yet supported!) A coderef, which will be called when the code is executed. 3) (Not yet supported.) A hash-style list, the two keys being "eval" and "init" (corresponding to the methods under item 1) and the values being coderefs; i.e.: ( init => &init_sub, eval => &eval_sub ) Maybe we need support for a JavaScript function to be called to handnle the statement. $p->delete_statement(@names); Deletes the given statement types and returns $p. $p->statement_list (Not yet implemented.) Returns an array ref of the names of the various statement types. You can rearrange this list, but it is up to you to make sure you do not add to it any statement types that have not been added via "add_statement" (or were not there by default). The statement types in the list will be tried in order, except that items beginning with a hyphen always come before other items. The default list is "qw/-function block empty if while with for switch try labelled var do continue break return throw expr/" $p->parse($code) Parses the $code and returns a parse tree (JE::Code object). $p->eval($code) Shorthand for $p->parse($code)->execute; EXPORTS
None by default. You may choose to export the following: Exported Variables ... blah blah blah ... Exported Functions These all have "()" for their prototype, except for "expected" which has "($)". ... blah blah blah ... SYNTAX ERRORS
(To be written) expected 'aaaa'; # will be changed to 'Expected aaaa but found....' die \"You can't put a doodad after a frombiggle!"; # complete message die 'aoenstuhoeanthu'; # big no-no (the error is propagated) EXAMPLES
Mini JavaScript This is an example of a mini JavaScript that does not allow loops or the creation of functions. use JE; $j = new JE; $p = $j->new_parser; $p->delete_statement('for','while','do','-function'); Since function expressions could still create functions, we need to remove the Function prototype object. Someone might then try to put it back with "Function = parseInt.constructor", so we'll overwrite Function with an undeletable read-only undefined property. $j->prop({ name => 'Function', value => undef, readonly => 1, dontdel => 1 }); Then, after this, we call "$p->eval('...')" to run JS code. Perl-style for(LIST) loop Well, after writing this example, it seems to me this API is not sufficient.... This example doesn't actually work yet. use JE; use JE::Parser qw'$s ident expr statement expected'; $j = new JE; $p = $j->new_parser; $p->add_statement('for-list', sub { /Gfor$s/cog or return; my $loopvar = ident or return; /G$s($s/cog or return; my @expressions; do { # This line doesn't actually work properly because # 'expr' will gobble up all the commas @expressions == push @expressions, expr and return; # If nothing gets pushed on to the # list, we need to give the default # 'for' handler a chance, instead of # throwing an error. } while /G$s,$s/cog; my $statement = statement or expected 'statement'; return bless { var => $loopvar, expressions => @expressions, statement => $statement }, 'Local::JEx::ForList'; } ); package Local::JEx::ForList; sub eval { my $self = shift; local $JE::Code::scope = bless [@$JE::Code::scope], 'JE::Scope'; # I've got to come up with a better interface than this. my $obj = $JE::Code::global->eval('new Object'); push @$JE::Code::scope, $obj; for (@{$self->{expressions}}) { $obj->{ $self->{loopvar} } = $_->eval; $self->{statement}->execute; } } SEE ALSO
JE and JE::Code. perl v5.14.2 2012-03-18 JE::Parser(3pm)
All times are GMT -4. The time now is 09:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy