Sponsored Content
Homework and Emergencies Homework & Coursework Questions If statements in Linux terminal Post 302861487 by sea on Wednesday 9th of October 2013 04:59:52 AM
Old 10-09-2013
Right, personal experience showed me that the use of [[ condition ]] is the most compatible one among shells.
But then again i only use sh and bash on diffrent linux'...

man bash says:
Code:
       ((expression))
              The expression is evaluated according to the rules described below under ARITHMETIC EVALUATION.  If the value of the expression is non-zero, the return status is 0;  otherwise  the
              return status is 1.  This is exactly equivalent to let "expression".

       [[ expression ]]
              Return a status of 0 or 1 depending on the evaluation of the conditional expression expression.  Expressions are composed of the primaries described below under CONDITIONAL EXPRES-
              SIONS.  Word splitting and pathname expansion are not performed on the words between the [[ and ]]; tilde expansion, parameter and variable expansion, arithmetic expansion, command
              substitution, process substitution, and quote removal are performed.  Conditional operators such as -f must be unquoted to be recognized as primaries.

              When used with [[, the < and > operators sort lexicographically using the current locale.

              When  the  ==  and != operators are used, the string to the right of the operator is considered a pattern and matched according to the rules described below under Pattern Matching.
              If the shell option nocasematch is enabled, the match is performed without regard to the case of alphabetic characters.  The return value is 0 if the string matches  (==)  or  does
              not match (!=) the pattern, and 1 otherwise.  Any part of the pattern may be quoted to force it to be matched as a string.

              An  additional binary operator, =~, is available, with the same precedence as == and !=.  When it is used, the string to the right of the operator is considered an extended regular
              expression and matched accordingly (as in regex(3)).  The return value is 0 if the string matches the pattern, and 1 otherwise.  If the regular expression is  syntactically  incor-
              rect,  the conditional expression's return value is 2.  If the shell option nocasematch is enabled, the match is performed without regard to the case of alphabetic characters.  Any
              part of the pattern may be quoted to force it to be matched as a string.  Substrings matched by parenthesized subexpressions within the regular expression are saved  in  the  array
              variable  BASH_REMATCH.   The element of BASH_REMATCH with index 0 is the portion of the string matching the entire regular expression.  The element of BASH_REMATCH with index n is
              the portion of the string matching the nth parenthesized subexpression.

              Expressions may be combined using the following operators, listed in decreasing order of precedence:

              ( expression )
                     Returns the value of expression.  This may be used to override the normal precedence of operators.
              ! expression
                     True if expression is false.
              expression1 && expression2
                     True if both expression1 and expression2 are true.
              expression1 || expression2
                     True if either expression1 or expression2 is true.

              The && and || operators do not evaluate expression2 if the value of expression1 is sufficient to determine the return value of the entire conditional expression.

 

9 More Discussions You Might Find Interesting

1. Solaris

Terminal settings from linux to solaris

When I log in from my linux workstation (CentOS4) to a solaris 8 server using SSH or telnet, the terminal settings don't seem to work well. When I tail or vi a file, I get a blank screen or no response, and I am no longer able to interact with the session. I have to type the escape sequence to... (2 Replies)
Discussion started by: tjlst15
2 Replies

2. Shell Programming and Scripting

How to have color coded Terminal display,(like linux)

Hi all, I would like to know how to have a color display in the terminal... In the sense that, In many linux terminals,we have color coded for each file type, green for executable ,blue for dirs and so on... I wanted to know how i can have the same arrangement in solaris(b-79a) I am not... (5 Replies)
Discussion started by: wrapster
5 Replies

3. Ubuntu

Error on my Linux terminal

Hi, I keep on getting the following error on my linux terminal. It did not harm my system so far, but I was wondering if this can be eliminated. { Gecko:4617): GLib-GObject-CRITICAL **: file gobject.c: line 1337 (g_object_unref): assertion `G_IS_OBJECT (object)' failed (Gecko:4617):... (2 Replies)
Discussion started by: gsabarinath
2 Replies

4. Windows & DOS: Issues & Discussions

looking for linux like tab terminal for windows

Hello all is there any free tool like linux tabbed terminal but for windows im used to work with putty and its great but i wander if there something like putty but with tabs thanks (12 Replies)
Discussion started by: umen
12 Replies

5. Linux

how to perform a system check on linux via terminal

hi im new to this and i just want to learn about linux and i just wanted to know how would i be able to perform a system check to see if a directory exists. can any one help me? (2 Replies)
Discussion started by: roozis
2 Replies

6. Homework & Coursework Questions

help with linux terminal window

Hello! I need to create a file and provide access to two users of the file under the same command in linuxs terminal window. The question is how can I do it? (3 Replies)
Discussion started by: Messe
3 Replies

7. UNIX for Dummies Questions & Answers

Is there picture based game under linux terminal?

Is there picture based game under linux terminal? Just like Supermario under DOS. (18 Replies)
Discussion started by: vistastar
18 Replies

8. UNIX for Dummies Questions & Answers

Linux terminal server?

Hello everyone, I have an interesting project I'd like to implement on a Linux server here at work. Essentially, I'd like to replace a handful of Windows servers with a single Linux server. The only task these Windows servers perform, is provide remote desktops via RDP protocol that people... (13 Replies)
Discussion started by: lupin..the..3rd
13 Replies

9. UNIX for Advanced & Expert Users

Getting the process ID of the terminal in Unix/Linux

Hi, How can we get the process id of the terminal we are using? When we logged in to unix, we have an associated terminal. we can use "tty" command to get the terminal we are using like: /dev/pts/0 I want to know the process id of this terminal. Please reply as I searched a lot but I... (8 Replies)
Discussion started by: crazybisu
8 Replies
TEST(1) 						      General Commands Manual							   TEST(1)

NAME
test - condition evaluation utility SYNOPSIS
test expression DESCRIPTION
The test utility evaluates the expression and, if it evaluates to true, returns a zero (true) exit status; otherwise it returns 1 (false). If there is no expression, test also returns 1 (false). All operators and flags are separate arguments to the test utility. The following primaries are used to construct expression: -b file True if file exists and is a block special file. -c file True if file exists and is a character special file. -d file True if file exists and is a directory. -e file True if file exists (regardless of type). -f file True if file exists and is a regular file. -g file True if file exists and its set group ID flag is set. -h file True if file exists and is a symbolic link. -n string True if the length of string is nonzero. -p file True if file is a named pipe -r file True if file exists and is readable. -s file True if file exists and has a size greater than zero. -t [file_descriptor] True if the file whose file descriptor number is file_descriptor (default 1) is open and is associated with a terminal. -u file True if file exists and its set user ID flag is set. -w file True if file exists and is writable. True indicates only that the write flag is on. The file is not writable on a read-only file system even if this test indicates true. -x file True if file exists and is executable. True indicates only that the execute flag is on. If file is a directory, true indicates that file can be searched. -z string True if the length of string is zero. string True if string is not the null string. s1 = s2 True if the strings s1 and s2 are identical. s1 != s2 True if the strings s1 and s2 are not identical. n1 -eq n2 True if the integers n1 and n2 are algebraically equal. n1 -ne n2 True if the integers n1 and n2 are not algebraically equal. n1 -gt n2 True if the integer n1 is algebraically greater than the integer n2 . n1 -ge n2 True if the integer n1 is algebraically greater than or equal to the integer n2 . n1 -lt n2 True if the integer n1 is algebraically less than the integer n2 . n1 -le n2 True if the integer n1 is algebraically less than or equal to the integer n2 . These primaries can be combined with the following operators: ! expression True if expression is false. expression1 -a expression2 True if both expression1 and expression2 are true. expression1 -o expression2 True if either expression1 or expression2 are true. (expression) True if expression is true. The -a operator has higher precedence than the -o operator. GRAMMAR AMBIGUITY
The test grammar is inherently ambiguous. In order to assure a degree of consistency, the cases described in the IEEE Std 1003.2 ("POSIX"), section D11.2/4.62.4, standard are evaluated consistently according to the rules specified in the standards document. All other cases are subject to the ambiguity in the command semantics. RETURN VALUES
The test utility exits with one of the following values: 0 expression evaluated to true. 1 expression evaluated to false or expression was missing. >1 An error occurred. BUGS
Named pipes are not implemented in 2.11BSD. STANDARDS
The test function is expected to be IEEE Std 1003.2 ("POSIX") compatible. 7th Edition March 13, 1995 TEST(1)
All times are GMT -4. The time now is 09:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy