Sponsored Content
Homework and Emergencies Homework & Coursework Questions Refactoring via SHELL utilities Post 302562387 by Corona688 on Thursday 6th of October 2011 05:40:08 PM
Old 10-06-2011
Code:
if (( -z "$3" ));

You've got an 'if' with no 'fi' and no 'then'. The ; on the end seems to have no reason to be there -- ; is treated like a linebreak, so you can do command1 ; command2 but the line ends right there anyway...

The usual syntax goes

Code:
if STATEMENT
then
        ...
else
        ...
fi

where STATEMENT can be:

Code:
# Run an external program and execute the code inside if it succeeds.
# externals are things like cut, grep, sed, awk, javac, wget, true, false, ...
if program param1 param2 ...
then
        ...
fi

# Run an external program and execute the code inside if it fails.
# in fact, you can put an ! in front of any STATEMENT.
if ! program param1 param2 ...
then
        ...
fi

# Check a logical statement as described by man test.
# -z for instance means 'test if string is empty'.  There's also operators
# available to compare decimal numbers [ 9 -gt 2 ], [ 3 -lt 5 ], [ 9 -eq 9 ]
# compare strings [ "abc" = "abc" ], [ "def" \> "abc" ], [ "abc" \< "def" ] 
# check for the presence of files [ -e "filename.sh" ]
# check for the presence of directories [ -d "dirname" ], and others.
if [ -z "$3" ]
then
        ...
fi

# [[ ]] are extended versions of [ ].  They support a more "C-like" syntax
# with && instead of -a and such, and are faster than [] in some shells,
# but behave much like [ ] otherwise.
if [[ "aaaa" == "bbbbb" ]]
then
        ...
fi

# This only works in BASH and newer KSH
A=3
B=5
if ((B>A))
then
        ...
fi

I'd like to see an example of what an input source file would look like, and what the file ought to look like after substitution.
 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Zmodem Utilities

Where can I find Zmodem utilities for Soloris 7 ie: rz sz thnx (1 Reply)
Discussion started by: SmartJuniorUnix
1 Replies

2. Shell Programming and Scripting

How to manage multiple versions of a set of shell and SQL script utilities

Hi all --- I have the need to manage multiple versions of a set of utility scripts -- both shell and SQL and other .dat files. I am wondering if anyone out there knows of a good way to "PATH" to SQL and text files in a way similar to how PATH facilitates finding executables in a pre-specified... (2 Replies)
Discussion started by: DennisB
2 Replies

3. UNIX for Dummies Questions & Answers

top ten utilities in shell scripting?

Let's get some feedback about the top ten ute's you guys use in writing your scripts - I mean yeah it depends on the job and what you're trying to accomplish, but there ARE those commands (sed, grep, awk, cut, etc.) that most will use time and again... ...so, what do you use? (3 Replies)
Discussion started by: diego
3 Replies

4. UNIX for Dummies Questions & Answers

bc and wc utilities???

Hi, Can anybody explain bc and wc system utilities in Unix? Thanks (6 Replies)
Discussion started by: skyineyes
6 Replies

5. UNIX for Advanced & Expert Users

utilities

hi experts, i have a file sample: ======= 000123 5 7 0008 00345 5 9 0004 how can i get an output as 123 5 7 8 345 5 9 4 thanks in an advance subhendu (5 Replies)
Discussion started by: subhendu81
5 Replies

6. UNIX and Linux Applications

Utilities for CSV

I'd like to be able to do something like 'select column_a column_c column_b from file.csv'. Scripting it probably wouldn't be too extraordinarily difficult but I'd rather not reinvent the wheel if someone's built a better one already. (3 Replies)
Discussion started by: Corona688
3 Replies

7. UNIX for Dummies Questions & Answers

Custom Reporting Utilities for SHell (CRUSH)

If you are interested in a set of utilities designed for reporting solutions within the shell, check out CRUSH on Google code. crush-tools - Project Hosting on Google Code (0 Replies)
Discussion started by: watingo
0 Replies

8. Shell Programming and Scripting

Crontab utilities

Hi gurus/lead, I have one doubt in crontab. I have shell script source code in one server. where I don't have priviliges acess R/W the shell script in that server. how can I setup the crontab to pick the code from the other unix server ? whether is there any possibility. in my... (1 Reply)
Discussion started by: ramkumar15
1 Replies
Char(3pm)						User Contributed Perl Documentation						 Char(3pm)

NAME
PDL::Char -- PDL subclass which allows reading and writing of fixed-length character strings as byte PDLs SYNOPSIS
use PDL; use PDL::Char; my $pchar = PDL::Char->new( [['abc', 'def', 'ghi'],['jkl', 'mno', 'pqr']] ); $pchar->setstr(1,0,'foo'); print $pchar; # 'string' bound to "", perl stringify function # Prints: # [ # ['abc' 'foo' 'ghi'] # ['jkl' 'mno' 'pqr'] # ] print $pchar->atstr(2,0); # Prints: # ghi DESCRIPTION
This subclass of PDL allows one to manipulate PDLs of 'byte' type as if they were made of fixed length strings, not just numbers. This type of behavior is useful when you want to work with charactar grids. The indexing is done on a string level and not a character level for the 'setstr' and 'atstr' commands. This module is in particular useful for writing NetCDF files that include character data using the PDL::NetCDF module. FUNCTIONS
new Function to create a byte PDL from a string, list of strings, list of list of strings, etc. # create a new PDL::Char from a perl array of strings $strpdl = PDL::Char->new( ['abc', 'def', 'ghij'] ); # Convert a PDL of type 'byte' to a PDL::Char $strpdl1 = PDL::Char->new (sequence (byte, 4, 5)+99); $pdlchar3d = PDL::Char->new([['abc','def','ghi'],['jkl', 'mno', 'pqr']]); string Function to print a character PDL (created by 'char') in a pretty format. $char = PDL::Char->new( [['abc', 'def', 'ghi'], ['jkl', 'mno', 'pqr']] ); print $char; # 'string' bound to "", perl stringify function # Prints: # [ # ['abc' 'def' 'ghi'] # ['jkl' 'mno' 'pqr'] # ] # 'string' is overloaded to the "" operator, so: # print $char; # should have the same effect. setstr Function to set one string value in a character PDL. The input position is the position of the string, not a character in the string. The first dimension is assumed to be the length of the string. The input string will be null-padded if the string is shorter than the first dimension of the PDL. It will be truncated if it is longer. $char = PDL::Char->new( [['abc', 'def', 'ghi'], ['jkl', 'mno', 'pqr']] ); $char->setstr(0,1, 'foobar'); print $char; # 'string' bound to "", perl stringify function # Prints: # [ # ['abc' 'def' 'ghi'] # ['foo' 'mno' 'pqr'] # ] $char->setstr(2,1, 'f'); print $char; # 'string' bound to "", perl stringify function # Prints: # [ # ['abc' 'def' 'ghi'] # ['foo' 'mno' 'f'] -> note that this 'f' is stored "f" # ] atstr Function to fetch one string value from a PDL::Char type PDL, given a position within the PDL. The input position of the string, not a character in the string. The length of the input string is the implied first dimension. $char = PDL::Char->new( [['abc', 'def', 'ghi'], ['jkl', 'mno', 'pqr']] ); print $char->atstr(0,1); # Prints: # jkl perl v5.14.2 2011-03-30 Char(3pm)
All times are GMT -4. The time now is 06:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy