<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Programming on Lorbic</title><link>http://localhost:1313/tags/programming/</link><description>Recent content in Programming on Lorbic</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 22 Jun 2026 00:00:00 +0530</lastBuildDate><atom:link href="http://localhost:1313/tags/programming/index.xml" rel="self" type="application/rss+xml"/><item><title>What is DRY? (And Other Things We Say at 3 AM)</title><link>http://localhost:1313/what-is-dry/</link><pubDate>Mon, 22 Jun 2026 00:00:00 +0530</pubDate><guid>http://localhost:1313/what-is-dry/</guid><description>&lt;p>There is a famous programmer joke that always gets me:&lt;/p>
&lt;p>&amp;ldquo;What is DRY? Well, at the risk of repeating myself&amp;hellip;&amp;rdquo;&lt;/p>
&lt;p>It is funny, but it also hurts a little because it is so true. We all know the rule: Don&amp;rsquo;t Repeat Yourself (DRY). We learn it from day one. You write a piece of code once, put it in a clean function, and never type it again.&lt;/p>
&lt;p>But let&amp;rsquo;s be honest. It is the middle of the night. You are staring at your screen, your eyes hurt from the light, and you just need the server to stop crashing. What really happens? You copy that block of code from another file. You paste it right where you need it. You change one variable, save the file, and quietly hope nobody looks too closely.&lt;/p></description></item><item><title>Learn Dart Programming</title><link>http://localhost:1313/learn-dart-programming/</link><pubDate>Wed, 12 May 2021 16:28:00 +0530</pubDate><guid>http://localhost:1313/learn-dart-programming/</guid><description>&lt;p>Good Evening,
Here are the Hands-on notes for Dart Programming Language.
I created these notes when I was learning Dart Language. So, these notes might help you too.
You can use these notes as a quick reference to Syntax and Demo.
I&amp;rsquo;ve covered almost every fundamental concept of Dart in this article.&lt;/p>
&lt;p>&lt;img src="https://images.unsplash.com/photo-1576504164753-8fd338cd450b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&amp;amp;ixlib=rb-1.2.1&amp;amp;auto=format&amp;amp;fit=crop&amp;amp;w=727&amp;amp;q=80" alt="" loading="eager" decoding="async" fetchpriority="high" class="img-fluid" />&lt;/p>
&lt;h2 id="photo-by-birmingham-museums-trust">Photo by Birmingham Museums Trust&lt;a class="anchorjs-link" href="#photo-by-birmingham-museums-trust" aria-label="Link to section: Photo by Birmingham Museums Trust">&lt;/a>&lt;/h2>&lt;h1 id="1-basics">1. Basics&lt;a class="anchorjs-link" href="#1-basics" aria-label="Link to section: 1. Basics">&lt;/a>&lt;/h1>&lt;h2 id="11-the-main-function">1.1 The Main Function&lt;a class="anchorjs-link" href="#11-the-main-function" aria-label="Link to section: 1.1 The Main Function">&lt;/a>&lt;/h2>&lt;p>Every Dart program starts execution from &lt;code>main()&lt;/code> functions.&lt;/p></description></item><item><title>Types of Pointers in C/C++</title><link>http://localhost:1313/types-of-pointers-in-c/c-/</link><pubDate>Wed, 12 May 2021 16:16:41 +0530</pubDate><guid>http://localhost:1313/types-of-pointers-in-c/c-/</guid><description>&lt;p>&lt;img src="https://images.unsplash.com/photo-1509116453669-0baa67ef9073?ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHlhY2ludGglMjBtYWNhd3xlbnwwfHwwfHw%3D&amp;amp;ixlib=rb-1.2.1&amp;amp;auto=format&amp;amp;fit=crop&amp;amp;w=500&amp;amp;q=60" alt="Photo of Hyacinth macaw on Unsplash - Village Programmer" loading="eager" decoding="async" fetchpriority="high" class="img-fluid" />&lt;br>
Photo of &lt;em>Hyacinth macaw by&lt;/em> Roi Dimor on &lt;a href="https://unsplash.com/photos/AEQ-166CWY8" target="_blank" rel="noopener noreferrer">Unsplash&lt;/a>&lt;/p>
&lt;hr>
&lt;h1 id="types-of-pointers-in-c--c">Types of Pointers in C / C++&lt;a class="anchorjs-link" href="#types-of-pointers-in-c--c" aria-label="Link to section: Types of Pointers in C / C&amp;#43;&amp;#43;">&lt;/a>&lt;/h1>&lt;h2 id="1-null-pointer">1. Null Pointer&lt;a class="anchorjs-link" href="#1-null-pointer" aria-label="Link to section: 1. Null Pointer">&lt;/a>&lt;/h2>&lt;p>It is a pointer pointing to nothing. &lt;strong>NULL&lt;/strong> pointer points to the base address of the segment.&lt;/p>
&lt;p>&lt;code>-EXAMPLE-&lt;/code>&lt;/p>
&lt;div class="code-block">
 &lt;div class="code-header">
 &lt;div class="header-left">
 &lt;span class="code-lang">c&lt;/span>
 &lt;/div>
 &lt;div class="header-right">
 &lt;button class="wrap-code-button" title="Toggle line wrap" aria-label="Toggle line wrap">
 &lt;svg class="svg-icon " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">&lt;path d="M448 256c0-53-43-96-96-96H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h256c17.7 0 32 14.3 32 32s-14.3 32-32 32H165.5l37.3-37.3c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L165.5 352H352c53 0 96-43 96-96zM32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM32 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z"/>&lt;/svg>

 &lt;/button>
 &lt;button class="download-code-button" data-lang="c" title="Download Code" aria-label="Download Code">
 &lt;svg class="svg-icon " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">&lt;path d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/>&lt;/svg>

 &lt;/button>
 &lt;button class="copy-code-button" title="Copy Code" aria-label="Copy Code">
 &lt;svg class="svg-icon " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">&lt;!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->&lt;path d="M384 336H192c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16l140.1 0L400 115.9V320c0 8.8-7.2 16-16 16zM192 384H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V416H272v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16H96V128H64z"/>&lt;/svg>
 &lt;/button>
 &lt;/div>
 &lt;/div>
 &lt;div class="code-body">&lt;div class="highlight">&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-c" data-lang="c">&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681">1&lt;/span>&lt;span>&lt;span style="color:#ff7b72">int&lt;/span> &lt;span style="color:#ff7b72;font-weight:bold">*&lt;/span> ptr &lt;span style="color:#ff7b72;font-weight:bold">=&lt;/span> (&lt;span style="color:#ff7b72">int&lt;/span>) &lt;span style="color:#ff7b72;font-weight:bold">*&lt;/span> &lt;span style="color:#a5d6ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681">2&lt;/span>&lt;span>&lt;span style="color:#ff7b72">float&lt;/span> &lt;span style="color:#ff7b72;font-weight:bold">*&lt;/span> fptr &lt;span style="color:#ff7b72;font-weight:bold">=&lt;/span> (&lt;span style="color:#ff7b72">float&lt;/span>) &lt;span style="color:#ff7b72;font-weight:bold">*&lt;/span> &lt;span style="color:#a5d6ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681">3&lt;/span>&lt;span>&lt;span style="color:#ff7b72">double&lt;/span> &lt;span style="color:#ff7b72;font-weight:bold">*&lt;/span> dptr &lt;span style="color:#ff7b72;font-weight:bold">=&lt;/span> (&lt;span style="color:#ff7b72">double&lt;/span>) &lt;span style="color:#ff7b72;font-weight:bold">*&lt;/span> &lt;span style="color:#a5d6ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681">4&lt;/span>&lt;span>&lt;span style="color:#ff7b72">char&lt;/span> &lt;span style="color:#ff7b72;font-weight:bold">*&lt;/span> chptr &lt;span style="color:#ff7b72;font-weight:bold">=&lt;/span> (&lt;span style="color:#ff7b72">char&lt;/span>) &lt;span style="color:#ff7b72;font-weight:bold">*&lt;/span> &lt;span style="color:#a5d6ff">0&lt;/span>;&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>
&lt;/div>&lt;h5 id="other-ways-of-initializing-null-pointer">Other ways of initializing NULL pointer&lt;a class="anchorjs-link" href="#other-ways-of-initializing-null-pointer" aria-label="Link to section: Other ways of initializing NULL pointer">&lt;/a>&lt;/h5>&lt;div class="code-block">
 &lt;div class="code-header">
 &lt;div class="header-left">
 &lt;span class="code-lang">c&lt;/span>
 &lt;/div>
 &lt;div class="header-right">
 &lt;button class="wrap-code-button" title="Toggle line wrap" aria-label="Toggle line wrap">
 &lt;svg class="svg-icon " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">&lt;path d="M448 256c0-53-43-96-96-96H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h256c17.7 0 32 14.3 32 32s-14.3 32-32 32H165.5l37.3-37.3c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L165.5 352H352c53 0 96-43 96-96zM32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM32 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z"/>&lt;/svg>

 &lt;/button>
 &lt;button class="download-code-button" data-lang="c" title="Download Code" aria-label="Download Code">
 &lt;svg class="svg-icon " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">&lt;path d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/>&lt;/svg>

 &lt;/button>
 &lt;button class="copy-code-button" title="Copy Code" aria-label="Copy Code">
 &lt;svg class="svg-icon " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">&lt;!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->&lt;path d="M384 336H192c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16l140.1 0L400 115.9V320c0 8.8-7.2 16-16 16zM192 384H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V416H272v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16H96V128H64z"/>&lt;/svg>
 &lt;/button>
 &lt;/div>
 &lt;/div>
 &lt;div class="code-body">&lt;div class="highlight">&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-c" data-lang="c">&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681">1&lt;/span>&lt;span>&lt;span style="color:#ff7b72">int&lt;/span> &lt;span style="color:#ff7b72;font-weight:bold">*&lt;/span> ptr &lt;span style="color:#ff7b72;font-weight:bold">=&lt;/span> NULL;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681">2&lt;/span>&lt;span>&lt;span style="color:#ff7b72">char&lt;/span> &lt;span style="color:#ff7b72;font-weight:bold">*&lt;/span> chptr &lt;span style="color:#ff7b72;font-weight:bold">=&lt;/span> &lt;span style="color:#a5d6ff">&amp;#39;\0&amp;#39;&lt;/span>;&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>
&lt;/div>&lt;blockquote>
&lt;h4 id="null-also-means-0-in-macro">NULL also means 0 in macro&lt;a class="anchorjs-link" href="#null-also-means-0-in-macro" aria-label="Link to section: NULL also means 0 in macro">&lt;/a>&lt;/h4>&lt;div class="code-block">
 &lt;div class="code-header">
 &lt;div class="header-left">
 &lt;span class="code-lang">c&lt;/span>
 &lt;/div>
 &lt;div class="header-right">
 &lt;button class="wrap-code-button" title="Toggle line wrap" aria-label="Toggle line wrap">
 &lt;svg class="svg-icon " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">&lt;path d="M448 256c0-53-43-96-96-96H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h256c17.7 0 32 14.3 32 32s-14.3 32-32 32H165.5l37.3-37.3c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L165.5 352H352c53 0 96-43 96-96zM32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM32 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z"/>&lt;/svg>

 &lt;/button>
 &lt;button class="download-code-button" data-lang="c" title="Download Code" aria-label="Download Code">
 &lt;svg class="svg-icon " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">&lt;path d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/>&lt;/svg>

 &lt;/button>
 &lt;button class="copy-code-button" title="Copy Code" aria-label="Copy Code">
 &lt;svg class="svg-icon " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">&lt;!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->&lt;path d="M384 336H192c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16l140.1 0L400 115.9V320c0 8.8-7.2 16-16 16zM192 384H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V416H272v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16H96V128H64z"/>&lt;/svg>
 &lt;/button>
 &lt;/div>
 &lt;/div>
 &lt;div class="code-body">&lt;div class="highlight">&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-c" data-lang="c">&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681">1&lt;/span>&lt;span>&lt;span style="color:#8b949e;font-weight:bold;font-style:italic">#define NULL 0&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>
&lt;/div>&lt;/blockquote>
&lt;hr>
&lt;h2 id="2-dangling-pointer">2. Dangling Pointer&lt;a class="anchorjs-link" href="#2-dangling-pointer" aria-label="Link to section: 2. Dangling Pointer">&lt;/a>&lt;/h2>&lt;p>A pointer pointing to the memory address of any variable (or object) which has been deleted from memory.&lt;br>
When a pointer points to a deleted memory address, the pointer is called as a &lt;em>dangling pointer&lt;/em>.&lt;/p></description></item><item><title>Operators in Bash Shell Programming</title><link>http://localhost:1313/operators-in-bash-shell-programming/</link><pubDate>Tue, 04 May 2021 01:16:10 +0530</pubDate><guid>http://localhost:1313/operators-in-bash-shell-programming/</guid><description>&lt;p>&lt;img src="https://images.unsplash.com/photo-1614314107768-6018061b5b72?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&amp;amp;ixlib=rb-1.2.1&amp;amp;auto=format&amp;amp;fit=crop&amp;amp;w=1334&amp;amp;q=80" alt="A Picture of Pluto by NASA featured on Village Programmer" loading="eager" decoding="async" fetchpriority="high" class="img-fluid" />
Photo by &lt;a href="https://unsplash.com/photos/-5V6VZxSQRo" target="_blank" rel="noopener noreferrer">NASA&lt;/a> on Unsplash&lt;/p>
&lt;hr>
&lt;p>If you want to learn bash bash scripting please read this article.&lt;br>
&lt;a href="http://localhost:1313/post/learn-complete-linux-bash-scripting-in-one-article/">Learn complete Linux bash (shell) scripting in one article&lt;/a>&lt;/p>
&lt;p>Operators help us perform various types of operations such as addition, multiplication etc.&lt;br>
There are following types of operators present in bash:&lt;/p>
&lt;ul>
&lt;li>Arithmetic,&lt;/li>
&lt;li>Relational,&lt;/li>
&lt;li>Boolean,&lt;/li>
&lt;li>File Test,&lt;/li>
&lt;li>String Test&lt;/li>
&lt;/ul>
&lt;h2 id="1-arithmetic-operators">1. Arithmetic Operators&lt;a class="anchorjs-link" href="#1-arithmetic-operators" aria-label="Link to section: 1. Arithmetic Operators">&lt;/a>&lt;/h2>&lt;p>All the arithmetic operators present in bash are discussed below with examples.&lt;br>
These operators work with integers.&lt;/p></description></item><item><title>Learn Complete Linux Bash Scripting in One Article</title><link>http://localhost:1313/learn-complete-linux-bash-scripting-in-one-article/</link><pubDate>Tue, 04 May 2021 00:59:14 +0530</pubDate><guid>http://localhost:1313/learn-complete-linux-bash-scripting-in-one-article/</guid><description>&lt;p>&lt;img src="https://images.pexels.com/photos/745266/pexels-photo-745266.jpeg?auto=compress&amp;amp;cs=tinysrgb&amp;amp;dpr=2&amp;amp;h=650&amp;amp;w=940" alt="" loading="eager" decoding="async" fetchpriority="high" class="img-fluid" />
&amp;ndash; Photo by &lt;strong>&lt;a href="https://www.pexels.com/@osho?utm_content=attributionCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=pexels" target="_blank" rel="noopener noreferrer">Iván Rivero&lt;/a>&lt;/strong> from &lt;strong>&lt;a href="https://www.pexels.com/photo/tractor-with-trailer-under-cloudy-skies-during-day-745266/?utm_content=attributionCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=pexels" target="_blank" rel="noopener noreferrer">Pexels&lt;/a>&lt;/strong>&lt;/p>
&lt;p>In this article I&amp;rsquo;ll be discussing about linux bash scripting (shell scripting) and I will cover every fundamental concept that you need to get started with bash scripting under linux environment.&lt;br>
Bash scripting is a critical skill for every programmer.&lt;/p>
&lt;p>First of all you will need a &lt;strong>linux machine&lt;/strong> to execute these scripts.&lt;br>
You can use any of the below techniques to get a linux machine:&lt;/p></description></item></channel></rss>