i am curious how we can implement the ternary operator with multiple commands in else part. in my case, only the first command in the "else" part is reachable and the rest is ignored.
in both the cases, the
is not reachable always and the code continues without exiting.
please help me how to achieve this with this syntax. It can be easily rewritten using if-else construct. But, I would like to know how we can accomplish this using this syntax.
The && and || operators are not a replacement for a proper if - else - fi block".
While one can use subshells, as you did, to do additional tasks if a false has returned, being a subshell, you cannot exit from there, as it just exits the subshell, not the script.
Now try:
Check if of the if blocks exit status, by executing:
After you ran the script.
hth
EDIT:
Simply said, the && and || operators are only good for SIMPLE checks, not for complex checking.
MAinly because one cannot use multiple instances of ||, if ANY previous condition fails, it'll go to the first ||, and be done after.
As sea said, your exit commands are exiting the subshell in which they're located; not the parent shell... But, you can reverse the condition and use multiple && operators with a single || operator. Try:
However, just because you CAN do it this way doesn't mean that something more like:
wouldn't be better. This form is easier to read for most code readers and should run as fast or a tiny bit faster than the single line version.
Despite what sea said, a long command line can have more than one meaningful || operator if conditional code follows the first ||. For example:
Last edited by Don Cragun; 09-27-2015 at 02:05 AM..
Reason: Fix typo: s/you're/your/
These 2 Users Gave Thanks to Don Cragun For This Post:
To add: you can simply replace the subshell construct with code grouping
Note the space after the first curly brace and the semicolon before the second one..
This User Gave Thanks to Scrutinizer For This Post:
To add: you can simply replace the subshell construct with code grouping
Note the space after the first curly brace and the semicolon before the second one..
Hi All,
Do you have any sample script,
- auto get file from SFTP remote server and delete file in remove server after downloaded.
- only download specify filename
- auto upload file from local to SFTP remote server and delete local folder file after uploaded
- only upload specify filename
... (3 Replies)
Firstly, I would like to apologize if this is not the appropriate sub-forum to post about GNU/BSD makefile scripting. Though my code is in C++, because I am focusing on the makefile I thought it would go better in shell scripting. Please correct me if I am wrong.
Secondly, I am not interested in... (0 Replies)
cat file1.txt
field1 "user1":
field2:"data-cde"
field3:"data-pqr"
field4:"data-mno"
field1 "user1":
field2:"data-dcb"
field3:"data-mxz"
field4:"data-zul"
field1 "user2":
field2:"data-cqz"
field3:"data-xoq"
field4:"data-pos"
Now i need to have the date like below.
i have just... (7 Replies)
Hi, I have text file abc.txt. In this file, I have the following data.
Input:
Mr Smith & Mrs Smith
Mr Smith &apos Mrs Smith
Mr Smith & Mrs Smith
Mr Smith& Mrs Smith
Mr Smith &Mrs Smith
Output:
Mr Smith & Mrs Smith
Mr Smith &apos Mrs Smith
Mr Smith & Mrs Smith
Mr Smith&... (4 Replies)
Hello All
I have a xml file with many sets of records
like this
<mytag>mydata</mytag>
<tag2>data&</tag2>
also same file can be like this
<mytag>mydata</mytag>
<tag2>data&</tag2>
<tag3>data2&data3</tag3>
Now i can grep & and replace with & for whole file but it will replace all... (4 Replies)
Hi, I hope the title does not scare people to look into this thread but it describes roughly what I'm trying to do. I need a solution in PHP.
I'm a programming beginner, so it might be that the approach to solve this, might be easier to solve with an other approach of someone else, so if you... (0 Replies)
find . -type f -name "*.sql" -print|xargs perl -i -pe 's/pattern/replaced/g'
this is simple logic to find and replace in multiple files & folders
Hope this helps.
Thanks
Zaheer (0 Replies)
Hi friends,
I have a script that sets the env variable path based on different conditions.
Now the new path variable setting should not done in the same terminal or same shell.
Only a new terminal or new shell should have the new path env variable set.
I am able to do this only as follows:
>cd... (1 Reply)
Dear unix gurus,
I have a data file with header information about a subject and also 3 columns of n rows of data on various items he owns. The data file looks something like this:
adam peter
blah blah blah
blah blah blah
car
01 30 200
02 31 400
03 57 121
.. .. ..
.. .. ..
n y... (8 Replies)
Hi ,
I have a situation.
Need is to create & send a formatted file with header in BOLD & colored & some sequel results as a content.
I know echo -e \033 command, but its scope is limited in PUTTY.
How to retain the formatting out of Putty; say after someone opens a email attachment... (2 Replies)