Sponsored Content
Top Forums Shell Programming and Scripting FIle (directory) test operator (bash) Post 302317324 by wildbluefaerie on Monday 18th of May 2009 05:23:27 PM
Old 05-18-2009
FIle (directory) test operator (bash)

I'm almost pulling out my hair trying to figure out what's wrong with this... there's no reason I can see that it shouldn't be working. It seems that the code acts as though the conditional statement is true no matter what - I've even tried removing the negation operator, but it always goes into the first block of code whether or not the directory exists. I've also tried switching -d to -e, but it gets the same result. Thanks in advance!

Code:
directory="Test"
echo "Does $directory exist in:"
pwd
if [[ ! -d "$directory" ]];
then
    mkdir $directory
    echo "$directory doesn't exist"
else
    echo "$directory exists."
fi

Output: (when the folder exists)
Code:
Does Test exist in:
/media/WALTER/autosync
mkdir: cannot create directory `Test': File exists
Test doesn't exist

Output: (when the folder doesn't exist)
Code:
Does Test exist in:
/media/WALTER/autosync
Test doesn't exist

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

:0: unknown test operator

I have gotten the script up to this point and it works fine a system but when i copy it to another unix server running solaris 9 as the original one , its gives an error './mon_fs.sh: 0: unknown test operator' . (see script bellow) can the Gurus see to this as i am just a beginner with... (2 Replies)
Discussion started by: ibroxy
2 Replies

2. UNIX for Advanced & Expert Users

unknown test operator

Hi, I have the following shell script : Nbr_BD_Link=0 Nbr_BD_Link=` sqlplus sysadm/${PSWD}@${DB_Name} << EOF | tail -4 | head -1 2>/dev/null set head off feedback off ; select count(*) from dba_db_links ; exit ; EOF ` echo ${Nbr_BD_Link} if ; then ... (4 Replies)
Discussion started by: big123456
4 Replies

3. Shell Programming and Scripting

TEST operator help

Hi I want to group like this but syntactic is not right ... Thanks if Like this below does not work properly .. if then : else usage exit 1 fi (5 Replies)
Discussion started by: zam
5 Replies

4. Shell Programming and Scripting

unknown test operator

hi all, i am using the below command in my script if ; then This statement is causing the problme "ScriptName.ksh: XXX-XXX: unknown test operator" could you please suggest me , how can i avoid these messages. Singhal (7 Replies)
Discussion started by: singhald
7 Replies

5. Shell Programming and Scripting

Solaris test operator -gt

Hello people, I created the below script on HP-UX #!/bin/sh SESSION_NO=`sqlplus -s ${DRBILOUKOS_USER} <<EOF SET HEAD OFF @/export/home/drbiloukos/scripts/sessions_count/no_of_sessions.sql EOF` SESSION_THRESHOLD=250 MAX_SESSIONS=`sqlplus -s ${DRBILOUKOS_USER} <<EOF SET HEAD OFF... (2 Replies)
Discussion started by: drbiloukos
2 Replies

6. Shell Programming and Scripting

Problem in test file operator on a ufsdump archive file mount nfs

Hi, I would like to ask if someone know how to test a files if exist the file is a nfs mount ufsdump archive file.. i used the test operator -f -a h almost all test operator but i failed file1=ufs_root_image.dump || echo "files doesn't exist && exit 1 the false file1 is working but... (0 Replies)
Discussion started by: jao_madn
0 Replies

7. Shell Programming and Scripting

Test operator

In my script (currently running on Solaris ) I'm testing for zero size with wild character. There are mutilple files exist in the directory. if then filename=`ls -1tr ${fileformat}.${date}.? | tail -1` else ${BATCH_FATAL:-echo} "$0:ERROR:No file found ${source}/${fileformat}.${date}.?"... (5 Replies)
Discussion started by: gauravgoel83
5 Replies

8. Shell Programming and Scripting

Unknown test operator

Hi , Os - Solaris Shell - Ksh I am getting below error in if condition + id + ./om_wf_complete.sh: gid=4081(Infadmn): unknown test operator + exit 1 if ; then touch /home/odwt/1.0.0/out/oworkflow.dat chmod 777 /home/odwt/1.0.0/out/oworkflow.dat elif ; then touch... (8 Replies)
Discussion started by: nag_sathi
8 Replies

9. Shell Programming and Scripting

Operator test in bash

Hello, can you please help me because I am totally confused with a simple script: #!/bin/bash ] || ] && echo "Good Morning" ] || ] && echo "Good Night" For me, these two strings are indentical: false || false and there is no point to execute echo command. But the run result is... (5 Replies)
Discussion started by: AndreiM
5 Replies

10. Shell Programming and Scripting

Unknown test operator

O/S solaris 9 shell ksh if then chk_op="WARNING...reboot within the last 24hrs, restarted at `who -r | awk '{print $4$5"@"$6}'`" ; else if ; then last_reboot1=`who -b | awk '{print $4" "$5" "$6}'` last_reboot2='..OK..'`uptime | awk '{print$3" "$4}'` ... (4 Replies)
Discussion started by: squrcles
4 Replies
Test::Synopsis(3)					User Contributed Perl Documentation					 Test::Synopsis(3)

NAME
Test::Synopsis - Test your SYNOPSIS code SYNOPSIS
# xt/synopsis.t (with Module::Install::AuthorTests) use Test::Synopsis; all_synopsis_ok(); # Or, run safe without Test::Synopsis use Test::More; eval "use Test::Synopsis"; plan skip_all => "Test::Synopsis required for testing" if $@; all_synopsis_ok(); DESCRIPTION
Test::Synopsis is an (author) test module to find .pm or .pod files under your lib directory and then make sure the example snippet code in your SYNOPSIS section passes the perl compile check. Note that this module only checks the perl syntax (by wrapping the code with "sub") and doesn't actually run the code. Suppose you have the following POD in your module. =head1 NAME Awesome::Template - My awesome template =head1 SYNOPSIS use Awesome::Template; my $template = Awesome::Template->new; $tempalte->render("template.at"); =head1 DESCRIPTION An user of your module would try copy-paste this synopsis code and find that this code doesn't compile because there's a typo in your variable name $tempalte. Test::Synopsis will catch that error before you ship it. VARIABLE DECLARATIONS
Sometimes you might want to put some undeclared variables in your synopsis, like: =head1 SYNOPSIS use Data::Dumper::Names; print Dumper($scalar, @array, \%hash); This assumes these variables like $scalar are defined elsewhere in module user's code, but Test::Synopsis, by default, will complain that these variables are not declared: Global symbol "$scalar" requires explicit package name at ... In this case, you can add the following POD sequence elsewhere in your POD: =for test_synopsis no strict 'vars' Or more explicitly, =for test_synopsis my($scalar, @array, %hash); Test::Synopsis will find these "=for" blocks and these statements are prepended before your SYNOPSIS code when being evaluated, so those variable name errors will go away, without adding unnecessary bits in SYNOPSIS which might confuse users. AUTHOR
Tatsuhiko Miyagawa <miyagawa@bulknews.net> Goro Fuji blogged about the original idea at <http://d.hatena.ne.jp/gfx/20090224/1235449381> based on the testing code taken from Test::Weaken. LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
Test::Pod, Test::UseAllModules, Test::Inline, Test::Snippet perl v5.16.3 2009-07-06 Test::Synopsis(3)
All times are GMT -4. The time now is 04:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy