Sponsored Content
Top Forums Shell Programming and Scripting complex if statement syntax without using 'if ..' keyword in ksh. Post 302504182 by homeboy on Monday 14th of March 2011 02:33:03 AM
Old 03-14-2011
if you want to put more than one command in such a command style,you should use brace curly---{},NOT ().The latter means execute these commands in a subshell.Look:
Code:
[ true ] && ( echo "yes,you can use it";echo $BASH_SUBSHELL;)

and this one
Code:
[ true ] && { echo "yes,you can use it";echo $BASH_SUBSHELL;}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Confirming Syntax - IF statement.

Hi All, Has been a while since I was last on, so I hope everyone has been doing fine. ;) Would like to know if the below IF statement syntax is correct for a ksh environment. It's been pushed into live as someone had deleted the development copy(!); not withstanding that, the statement now... (3 Replies)
Discussion started by: Cameron
3 Replies

2. Shell Programming and Scripting

syntax error on if statement

Hi, Can you please help me with this one: I write an "if" statement, something like this: if then echo "big file" else echo "normal file" and I get an error: `'then is not expected Thanks in advance (6 Replies)
Discussion started by: apenkov
6 Replies

3. Shell Programming and Scripting

perl : semi complex if statement question

Hi there I am trying to write an if statement in perl that will return "SUCCESS" if either of these conditions are true a) if $changes is greater than 5 AND the $force flag is set to 1 OR b) if $changes is greater than 0 AND $changes is less than 6 #!/usr/bin/perl -w my $force =... (5 Replies)
Discussion started by: rethink
5 Replies

4. UNIX for Dummies Questions & Answers

if statement code syntax

Hi, can someone please tell me what is wrong with this code? I just want it to check if the file size is greater than 2000kb. if Thanks! ---------- Post updated at 09:23 PM ---------- Previous update was at 09:21 PM ---------- I should probably post the full code: #!/bin/sh... (9 Replies)
Discussion started by: Bengel
9 Replies

5. UNIX for Dummies Questions & Answers

Complex If statement

can anyone please explain my below statement, i am confused. if || \ || \ || \ || then (1 Reply)
Discussion started by: kd09714
1 Replies

6. Shell Programming and Scripting

A complex sed statement

I have following requirement. Say, my text file contains following patterns {2010501005|XXGpvertex|9|0|17|0|{|{30100001|XXparameter_set|@@@@{{30001002|XXparameter|!prototype_path|$AB_COMPONENTS/Sort/Sort.mpc|3|2|Pf$|@{0|}} }}@0|@315000|78500|335000|99000|114000|87000|17|And the Sort|Ab... (8 Replies)
Discussion started by: Shell_Learner
8 Replies

7. UNIX for Advanced & Expert Users

Help with complex find syntax

I need to modify the find command below to exclude the output of the directory /usr/UDPM/PerfMgmt/shmlck find / \( -fstype ctfs -o -fstype mntfs -o -fstype objfs -o -fstype proc -o ! local \) -prune -o -type f -perm -0002 -print 2>/dev/null I have tried many iterations and placement of... (2 Replies)
Discussion started by: interesting?
2 Replies

8. Shell Programming and Scripting

Help with if statement syntax

Hi, Is there a way to compare the value in if condition with a list of values. eg . if ] then echo "it's a mammal" else echo "its not" fi Thanks! (8 Replies)
Discussion started by: neil.k
8 Replies

9. Shell Programming and Scripting

[ksh] finding last file with keyword in it

Hi, In short : I have several log files and I need to find the last file with a certain keyword in it. # ls -1tr logs log_hostX.Jan01_0100.gz log_hostX.Jan01_0105.gz log_hostX.Jan01_0110.gz log_hostX.Jan01_0115.gz log_hostX.Jan01_0120.gz log_hostX.Jan01_0125.gz log_hostX.Jan01_0130.gz... (2 Replies)
Discussion started by: ejdv
2 Replies

10. UNIX for Beginners Questions & Answers

Syntax for if statement

I'm new to unix and the command line and am trying to learn different commands. I have a file (teledir.txt) that contains a name and phone number for 3 different people. I am writing a script that is to take two positional parameters and I typed out how it should behave: if <name and number... (1 Reply)
Discussion started by: Eric7giants
1 Replies
vc(1)								   User Commands							     vc(1)

NAME
vc - version control SYNOPSIS
vc [-a] [-t] [-c char] [-s] [keyword=value... keyword=value] DESCRIPTION
This command is obsolete and will be removed in the next release. The vc command copies lines from the standard input to the standard output under control of its arguments and of ``control statements'' encountered in the standard input. In the process of performing the copy operation, user-declared keywords may be replaced by their string value when they appear in plain text and/or control statements. The copying of lines from the standard input to the standard output is conditional, based on tests (in control statements) of keyword val- ues specified in control statements or as vc command arguments. A control statement is a single line beginning with a control character, except as modified by the -t keyletter (see below). The default control character is colon (:), except as modified by the -c keyletter (see below). Input lines beginning with a backslash () followed by a control character are not control lines and are copied to the standard output with the backslash removed. Lines beginning with a back- slash followed by a non-control character are copied in their entirety. A keyword is composed of 9 or less alphanumerics; the first must be alphabetic. A value is any ASCII string that can be created with ed; a numeric value is an unsigned string of digits. Keyword values may not contain blanks or tabs. Replacement of keywords by values is done whenever a keyword surrounded by control characters is encountered on a version control state- ment. The -a keyletter (see below) forces replacement of keywords in all lines of text. An uninterpreted control character may be included in a value by preceding it with . If a literal is desired, then it too must be preceded by . OPTIONS
The following options are supported: -a Forces replacement of keywords surrounded by control characters with their assigned value in all text lines and not just in vc statements. -t All characters from the beginning of a line up to and including the first tab character are ignored for the purpose of detecting a control statement. If a control statement is found, all characters up to and including the tab are discarded. -cchar Specifies a control character to be used in place of the ``:'' default. -s Silences warning messages (not error) that are normally printed on the diagnostic output. vc recognizes the following version control statements: :dcl keyword[, ..., keyword] Declare keywords. All keywords must be declared. :asg keyword=value Assign values to keywords. An asg statement overrides the assignment for the corresponding keyword on the vc command line and all pre- vious asg statements for that keyword. Keywords that are declared but are not assigned values have null values. :if condition ... :end Skip lines of the standard input. If the condition is true, all lines between the if statement and the matching end statement are copied to the standard output. If the condition is false, all intervening lines are discarded, including control statements. Note: Intervening if statements and matching end statements are recognized solely for the purpose of maintaining the proper if-end matching. The syntax of a condition is: <cond> ::= [ ``not'' ] <or> <or> ::= <and> | <and> ``|'' <or> <and> ::= <exp> | <exp> ``&'' <and> <exp> ::= ``('' <or> ``)'' | <value> <op> <value> <op> ::= ``='' | ``!='' | ``<'' | ``>'' <value> ::= <arbitrary ASCII string> | <numeric string> The available operators and their meanings are: = equal != not equal & and | or > greater than < less than () used for logical groupings not may only occur immediately after the if, and when present, inverts the value of the entire condition The > and < operate only on unsigned integer values (for example, : 012 > 12 is false). All other operators take strings as arguments (for example, : 012 != 12 is true). The precedence of the operators (from highest to lowest) is: = != > < all of equal precedence & | Parentheses may be used to alter the order of precedence. Values must be separated from operators or parentheses by at least one blank or tab. ::text Replace keywords on lines that are copied to the standard output. The two leading control characters are removed, and keywords sur- rounded by control characters in text are replaced by their value before the line is copied to the output file. This action is indepen- dent of the -a keyletter. :on :off Turn on or off keyword replacement on all lines. :ctl char Change the control character to char. :msg message Print message on the diagnostic output. :err message Print message followed by: ERROR: err statement on line ... (915) on the diagnostic output. vc halts execution, and returns an exit code of 1. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWsprot | +-----------------------------+-----------------------------+ SEE ALSO
ed(1), attributes(5) SunOS 5.11 5 Jul 1990 vc(1)
All times are GMT -4. The time now is 07:25 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy