Sponsored Content
Full Discussion: Problem evaluating condition
Top Forums Shell Programming and Scripting Problem evaluating condition Post 303011950 by edstevens on Friday 26th of January 2018 11:01:25 AM
Old 01-26-2018
First, let me point out that I've edited my opening post, to add reference line numbers to all 'code' blocks. Herein I use the term 'code block' to refer to any section of my posts that are set off as 'code', regardless of whether it is actual script code, or other type of output taken from the shell session.

In the posted script, line 71 (the 'ps' command) should echo to stdout exactly what is being tested with the IF at line 73. The expected output for everything except the first iteration is shown in the last 'code' block in my opening post. For example, on the second iteration of the DO loop, the value of ORACLE_SID is 'fs91upg'. And we see this in the second code block, at line 8, as echoed from line 70 of the script. But we do not see any output from script line 71. That same command - line 71 of the script - produces the output shown at line 5 of the third 'code' block.

Of course, the fact that script line 71 never produces any output explains why the IF on line 73 is evaluating FALSE. So the question is not really about the IF, per se, but why that 'ps' command (both at script lines 71 and 73 is returning nulls when the very same command, with the very same values, returns expected data when issued from the command prompt.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

problem with if condition

hi, :) pls consider the following if statement if //g') ] then ........ else ....... when i execute the script i am getting the following error '(' unexpected I am not able to find the mistake. could anybody tell where i did mistake. cheers RRK (13 Replies)
Discussion started by: ravi raj kumar
13 Replies

2. Shell Programming and Scripting

problem in if condition

hi, actully i need the belp for the below. host_list=" Host1 host2 host3 host4 " n=`hostname` i need to put the condition like the below if n is among the host mention in the host_list if then #some stugg else # some other stuff fi (1 Reply)
Discussion started by: mail2sant
1 Replies

3. Shell Programming and Scripting

problem in if then else condition

Hi , I am trying the following simple script . But it is always giving 1 output. Dont know why #!/bin/sh find . -name "a.log" if ; then echo "1" else echo "0" fi Kindly advice. it is giving 1 output even when the a.log file is not there (26 Replies)
Discussion started by: himvat
26 Replies

4. Shell Programming and Scripting

Problem in using AND OR condition together

a=rhino b=crocodil c=testsc if && "$c" = testsc ] then echo "Test #5 succeeds." else echo "Test #5 fails." fi i need to test or condition before check the output with AND condition. ur help is much appreciated... (11 Replies)
Discussion started by: gokulraj23
11 Replies

5. Shell Programming and Scripting

if condition not evaluating as expected

Hi all, Thanks in advance for your time. I have a data file like this: 1 7.465753425 2 8.980821918 1 1.717808219 1 6.550684932 0 5.432876712 I wish to write a bash script to check both columns and output a 1 if col1==1 AND col2<3. Otherwise I want to output a 0. In the above... (5 Replies)
Discussion started by: jem8271
5 Replies

6. Shell Programming and Scripting

If condition problem

Hi, I need to use if condition for search a file pattern on a particular location. cd $file_Path if || then do this else do that fi Can someone help me with the if part, how i can put those conditions? make sure format should be *.file* and *.file file is a keyword which i... (5 Replies)
Discussion started by: amit.mathur08
5 Replies

7. Shell Programming and Scripting

problem with if condition

Hi, I'm writing a bash script and i have a condition that goes if then break fi but, when i go to run it, i come across this line 10: ' where line 10 is the if I don't know what's going on :( (2 Replies)
Discussion started by: channyboy
2 Replies

8. Shell Programming and Scripting

Problem in if condition

Hi, below is the script in ksh and i am having issues with if condition. It takes in one argument as input and executes the shell script. The problem is in if condition in shell script. If input is given as 1 it works out well. But if input is given as 2 or something else the script is failing to... (1 Reply)
Discussion started by: abhi_123
1 Replies

9. Shell Programming and Scripting

If condition problem

Hi All, I am using below if condition to check whether null is passed as a parameter to the program if or ; then echo "ABC">>$FILE else echo "CDF">>$FILE fi However it is saying me null=null command not found . Please help me with this (9 Replies)
Discussion started by: Hypesslearner
9 Replies

10. Shell Programming and Scripting

Condition problem

Hi All, Seeking for your assistance on how to condition it correctly. cat file1.txt 290,1663,43,888,0,0.00,86.91,0.00,26.98,0.00 290,1663,52,0,0,0.00,0.00,0.00,0.00,0.00 290,1663,52,888,0,0.00,34.60,0.00,9.00,0.00 1st scenario: if the fourth column contains 888s and 0s it is by... (16 Replies)
Discussion started by: znesotomayor
16 Replies
tabs(1) 						      General Commands Manual							   tabs(1)

NAME
tabs - Sets tab stops on terminals SYNOPSIS
tabs [-n] [-T terminal] [+m [margin]] tabs [predefined_tab_flag] [-T terminal] [+m [margin]] tabs [-T terminal] [+m [margin]] number [,number]... tabs [--tab_format_file] The tabs command clears up to 20 previous tabs and sets up to 40 tabs on the terminal according to the supplied tab specifications. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: tabs: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
Specifies repetitive tab stops separated by a uniform number of column positions, n, where n is a single-digit number. The default usage of tabs with no arguments is equivalent to tabs -8. If you use -0, the tab stops are cleared and no new ones are set. Identifies the terminal so that tabs can set tabs and margins correctly. The terminal argument is one of the conventional terminal names supported by your system. [Tru64 UNIX] If the terminal you specify is not known to the system, tabs tries a general value that works for most terminals. If you do not provide a -T option, tabs uses the TERM shell variable. Moves all tabs to the right number columns, and makes column number+1 the left margin. If m is given without a value, 10 is assumed. The leftmost margin on most terminals is defined by m0. Specifies that tabs should be set to a structured language format that is known to the system. See the section Predefined Tab Flags for a description of these flags. [Tru64 UNIX] Causes tabs to read a file named tab_format_file for format information. The first line of the file must be in the format shown in the section Format Specifications to use this method. The file may contain other lines which are ignored by tabs. Note [Tru64 UNIX] The double dash (--) format is mandatory with this option. OPERANDS
Sets tabs at the named column numbers (a list in ascending order, separated by commas). You can specify up to 40 numbers. If any number except the first has a plus sign prefix, the prefixed number is added to the previous number for the next setting. Thus, the tab lists 1,10,20,30 and 1,10,+10,+10 provide the same tab settings. DESCRIPTION
If you use the tabs command with no options or operands, the terminal tabs are reset to the system defaults for your terminal type. If only the -T option is used, tabs are reset to the defaults for that terminal type. [Tru64 UNIX] When you use the tabs command, always consider the leftmost column number to be 1, even if your terminal refers to it as 0 (zero). Tab-stop position n means that tabbing to position n causes the next character output to be in the n+1th column position on that line. Predefined Tab Flags [Tru64 UNIX] The flags described in the following list provide formats required by most structured programming languages. Some of these flags require that a particular format line be present in the file being manipulated. This is indicated in the list. Sets the tabs to 1, 10, 16, 36, and 72. Sets the tabs to 1, 10, 16, 40, and 72. Sets the tabs to 1, 8, 12, 16, 20, and 55 (COBOL normal format) Sets the tabs to 1, 6, 10, 14, and 49 (COBOL compact format, columns 1 to 6 omitted). With this code, the first column position corresponds to card col- umn 7. One space gets you to column 8, and a tab reaches column 12. Files using this code must include the following format specifica- tion: <:t-c2 m6 s66 d:> [Tru64 UNIX] See Format Specifications later in this reference page. Sets the tabs to 1, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, 54, 58, 62, and 67 (COBOL compact format with more tabs than -c2). This is the recommended format for COBOL. Files using this code must include the following format specification: <:t-c3 m6 s66 d:> Sets the tabs to 1, 7, 11, 15, 19, and 23 (FORTRAN). Sets the tabs to 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, and 61 (PL/I). Sets the tabs to 1, 10, and 55 (SNOBOL). Sets the tabs to 1, 12, 20, and 44. Format Specifications [Tru64 UNIX] A format specification consists of a sequence of arguments separated by blanks and enclosed in brackets and colons: <: :>. Each argument consists of a keyletter and an optional value which immediately follows it. The following arguments can be used: [Tru64 UNIX] Specifies tab settings. The value for tabs can be: [Tru64 UNIX] A list of column numbers separated by commas, indicating tab stops at the specified columns. [Tru64 UNIX] A - (dash) followed by a number n, specifying tabs stops every n columns. [Tru64 UNIX] A preset tab specification, for example -a2. [Tru64 UNIX] Specifies a maximum line size, or length. The size specification must be an integer. (The value of size is checked after tabs have been expanded but before the margin is prepended.) [Tru64 UNIX] Specifies a number of spa- ces to be inserted at the beginning of each line. The margin specification must be an integer. [Tru64 UNIX] Indicates that the line con- taining the format specification is to be deleted from the converted file. [Tru64 UNIX] If a format specification can be disguised as a comment, for example * <:t5,10,15 s75 m5:> *, you do not need to include the d keyletter. [Tru64 UNIX] Indicates that the current format should prevail only until another format specification is encountered in the file. [Tru64 UNIX] Default values of t-8 and m0 are assumed if t and m arguments are not included in the specification; if s is not included, line size is not checked. If the first line of a file does not contain a format specification, these defaults are assumed for the entire file. NOTES
The tabs command assumes that standard output is the terminal. If standard output is redirected, the results are unpredicable. Full oper- ation of all capabilities may be restricted by the hardware. EXIT STATUS
The following exit values are returned: Successful completion. An error occurred. EXAMPLES
To set tabs every four spaces, enter: tabs -4 To clear all tabs, enter: tabs ENVIRONMENT VARIABLES
The following environment variables affect the execution of tabs: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari- ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments). Determines the locale for the for- mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. Determines the terminal type if the -T option is not used. SEE ALSO
Commands: expand(1), nroff(1), stty(1), tset(1) Standards: standards(5) tabs(1)
All times are GMT -4. The time now is 08:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy