Skip to main content

True or False with Bash

One of the first rules that is taught in any programming course is that 0 means False and anything that is non-zero is considered True.

But when you come to system programming in Unix environment, you need to completely forget this basic programming rule. In unix shells, this rule is flipped and 0 means true / success while anything non-zero means false / failure. Every executed command in unix shells returns an exit status according to this convention.

Let's see some examples in bash
We will use the echo $? to get the exit status for the previously executed command. (The detailed explanation of this command is out of the scope of this article)

The first example is as always to print "Hello World!"
There are two ways of printing "Hello World!" as shown above. In both the cases, the exit status is 0 as the printing is successful.

Let's check the true and false variables.

As you can see, false returns 1.

Another example using conditionals.

We know that true returns 0. When it is used along with if condition, that condition becomes true and it prints the message in the if part.
When false is used in if condition, the condition becomes false and the execution goes in else part.
Notice that "!" is the negation sign and ! false becomes true.

Finally, as we have stated earlier, the non-zero values are considered as failure. This can be used to categorize different types of failures. Application developers can customize the exit status codes as per their application requirements. For example, a three step failure notification could have the following exit status assignment.
1: Info
2: Warning
3: Error
In the above example, observe that we are initially in bash shell. We spawn a Bourne shell (sh). Exit that shell with a status code of 3 to come back to the original bash shell. We check the status of the previous command and observe that the sh command i.e. the last process created by the bash shell has exited with status code 3 meaning there is error.

Now let me resolve that error :p









Comments

Popular posts from this blog

CRIF HighMark Credit Report Application Process

As per the RBI circular of 2017, you are entitled to get one free credit report every calendar year from each credit bureaus in India. CRIF HighMark is one of the four credit bureaus in India. This article will focus on creating a new account and getting your yearly free credit report. Visit the official website of CRIF HighMark https://www.crifhighmark.com/your-credit-score  In the next screen, click on " Get Your Score Now"  Register After registering, follow the below steps: Enter Personal Details Full Name DOB Email ID Mobile Number Gender Father's Name or Spouse Name Identification PAN or UID necessary Rest optional Communication Address CAPTCHA Review Terms of Use and Click Submit Choose free report Click " No Thanks, Take me to my FREE report " below the Upgrade me button. You will receive a confirmation email with your username and password and activation link. Click on activation link to...

My Entry into the World of Credit Cards

After joining my job in June 2018, my salary account was opened in ICICI Bank. During the account opening process, I was offered a Life Time Free (LTF) credit card. Simply put, this was my first chance to get into the credit world without any extra hassle because first of all, neither was I aware of the concept of credit scores nor I had any credit history and secondly, I was just curious about credit cards after seeing of my father use his credit cards with extra caution and the monthly event of credit card bill payment that used to happen at my home. And in that sudden moment of joy, I made my first mistake in the credit world. Representative Image (Source: https://jessepollak.github.io/card/) Now if your guess is that I started spending crazy amounts of money which I couldn't repay, then you are WRONG! I am a miserly person. Money doesn't leave my hands and in general, my credit utilization has never exceeded 5% of my credit limit. So coming back to my first mis...

Generate Large Files in Linux using dd

The programming community often requires large files for stress testing programmes. For example, sometimes such files are required to check the response time of certain programme or testing request handling capacity of servers. Many times, it does not matter what the contents of the file are, however, it is often difficult to find such large files when the need arises. Linux provides us a fast, efficient way of generating such huge files through simple command line options. For the purposes of this demo, I am using Ubuntu 16.04 and 18.04 linux distros. Ubuntu provides dd command to create such huge files in a matter of seconds. A typical dd command to create a 1 GB file is given below. dd if=/dev/zero of=big_file.txt count=1024 bs=1048576 parameters of dd: if - input file from which the content is read of - output file where the content is written count - number of blocks in output file bs - number of bytes in each block The above command creates a file named big_file.txt...