<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EmbLogic &#187; Shell Scripts</title>
	<atom:link href="https://www.emblogic.com/blog/category/shell-scripts/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.emblogic.com/blog</link>
	<description>Embedded System and ARM Training</description>
	<lastBuildDate>Tue, 03 Mar 2020 13:00:06 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Shell &amp; Shell Scripting</title>
		<link>https://www.emblogic.com/blog/02/20913/</link>
		<comments>https://www.emblogic.com/blog/02/20913/#comments</comments>
		<pubDate>Sat, 29 Feb 2020 07:16:01 +0000</pubDate>
		<dc:creator><![CDATA[Saurabh Singh]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=20913</guid>
		<description><![CDATA[Shell &#38; Shell Scripting Shell is the medium or intermediator between the user and computer and act as an form of wrapper around the Operating system hence termed Shell. It helps the user to connect with the system kernels to &#8230; <a href="https://www.emblogic.com/blog/02/20913/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="margin-bottom: 0cm;line-height: 100%" align="center"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: x-large"><i><span style="text-decoration: underline"><b>Shell &amp; Shell Scripting</b></span></i></span></span></p>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Shell is the medium or intermediator between the user and computer and act as an form of wrapper around the Operating system hence termed Shell. It helps the user to connect with the system kernels to perform huge and various task hence the shell scripting is needed. Shell interpret the commands that acts as an interface for the access to operating system services such as Unix, Linux, Windows etc. Shell is the layer of programing on the outermost layer of the operating system which interprets commands and send necessary system calls to the kernel for execution of program. Today, there are many shells avavilable like bash, bsh, ksh, csh, zsh powershell etc. Among all the shells “bash” is the most and frequently used shell world wide. Shell is capable of automate very complex sequences of commands and most linux system are designed to be updated from typed in commands i.e. from shell. Shell also powers many of graphical commands that is run by users. Shell plays the most important role to better understand the computer. See below figure to better understand.</span></span></p>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><a href="http://www.emblogic.com/blog/wp-content/uploads/2020/02/Shell-figure.png"><img class="wp-image-20915 size-full aligncenter" src="http://www.emblogic.com/blog/wp-content/uploads/2020/02/Shell-figure.png" alt="Shell figure" width="300" height="291" /></a></p>
<p style="margin-bottom: 0cm;line-height: 100%" align="center"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: medium"><span style="text-decoration: underline">Linux Shell</span></span></span></p>
<p style="margin-bottom: 0cm;line-height: 100%" align="center">
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Shell classified in two categories.</span></span></p>
<ul>
<li>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Command Line Shell</span></span></p>
</li>
<li>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Graphical shell</span></span></p>
</li>
</ul>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="text-decoration: underline"><b><span style="font-size: large">Command Line Shell:- </span></b></span><span style="font-size: large"><span style="text-decoration: none"><span style="font-weight: normal">Shell can be accessed by user using command line interface i.e. called Terminal in linux or Unix operating System. And Command Prompt in Windows operating System. </span></span></span><span style="font-size: large"><span style="text-decoration: none"><span style="font-weight: normal">Shell takes commands by user and call operating system to run those commands.</span></span></span></span></p>
<p style="margin-bottom: 0cm;font-weight: normal;line-height: 100%;text-decoration: none" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">For Example: ls, ls -a, cat, etc.</span></span></p>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large"><span style="text-decoration: underline"><b>Graphical Shell:-</b></span></span><span style="font-size: large"><span style="text-decoration: none"><span style="font-weight: normal">Graphical shells provide means for manipulating programs based on graphical user interface (GUI), by allowing for operations such as opening, closing, moving and resizing.</span></span></span></span></p>
<p style="margin-bottom: 0cm;line-height: 100%" align="center"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large"><span style="text-decoration: underline"><b>Shell Scripting</b></span></span></span></p>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Usually, shells accepts commands as input from users and execute them. But sometimes we need to perform multiple operations using several commands hence to perform these operations we have to type all commands one by one to get the result.</span></span></p>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">So to avoid repetitive work and run all commands at once we need <b>Shell </b><b>S</b><b>cripting</b>. In Shell scipting we group number of commands in a file, and when you run shell script file, shell will executes the commands in the script file order. A shell script have syntax just like any other programming language.</span></span></p>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Shell scripts consist below mention elements:-</span></span></p>
<ul>
<li>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Shell Keywords</span></span></p>
</li>
<li>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Shell commands</span></span></p>
</li>
<li>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Functions</span></span></p>
</li>
</ul>
<p style="margin-bottom: 0cm;line-height: 100%" align="center"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large"><span style="text-decoration: underline"><b>Advantages of Shell &amp; Shell Scripting</b></span></span></span></p>
<ul>
<li>
<p style="margin-bottom: 0cm;font-weight: normal;line-height: 100%;text-decoration: none" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Shell can automate very complex sequences of commands.</span></span></p>
</li>
<li>
<p style="margin-bottom: 0cm;font-weight: normal;line-height: 100%;text-decoration: none" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Shell allows you to create new commands using other commands.</span></span></p>
</li>
<li>
<p style="margin-bottom: 0cm;font-weight: normal;line-height: 100%;text-decoration: none" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Scripting helps you to add new functions easily to the shell.</span></span></p>
</li>
<li>
<p style="margin-bottom: 0cm;font-weight: normal;line-height: 100%;text-decoration: none" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Writing shell scripts are much quicker and easier.</span></span></p>
</li>
<li>
<p style="margin-bottom: 0cm;font-weight: normal;line-height: 100%;text-decoration: none" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Interactive Debugging.</span></span></p>
<p style="margin-bottom: 0cm;font-weight: normal;line-height: 100%;text-decoration: none" align="left">
</li>
</ul>
<p style="margin-bottom: 0cm;line-height: 100%" align="center"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large"><span style="text-decoration: underline"><b>Disadvantages of Shell &amp;Shell Scripting</b></span></span></span></p>
<ul>
<li>
<p style="margin-bottom: 0cm;font-weight: normal;line-height: 100%;text-decoration: none" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">Graphical environment is not userfriendly which is why scripting is being used less.</span></span></p>
</li>
<li>
<p style="margin-bottom: 0cm;line-height: 100%" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large"><span style="text-decoration: none"><span style="font-weight: normal">Provide minimal</span></span><span style="text-decoration: none"><span style="font-weight: normal"> data Structures.</span></span></span></span></p>
</li>
</ul>
<p style="margin-bottom: 0cm;font-weight: normal;line-height: 100%;text-decoration: none" align="left"><span style="font-family: Noto Serif CJK KR, serif"><span style="font-size: large">At last we must say, learning the Shell Scripting can help you better understand your computer.</span></span></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/20913/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Single Client  Server And Single Thread Communication Using FIFO With Use The Shell Script</title>
		<link>https://www.emblogic.com/blog/02/single-client-server-and-single-thread-communication-with-using-the-shell-script/</link>
		<comments>https://www.emblogic.com/blog/02/single-client-server-and-single-thread-communication-with-using-the-shell-script/#comments</comments>
		<pubDate>Thu, 25 Feb 2016 22:09:59 +0000</pubDate>
		<dc:creator><![CDATA[Gurbhej Gill]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[Shell Scripts]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13307</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.15 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 15;    selected revisions: 15 description: In file all include header files related this project. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.15 date: 2016/02/25 06:18:43;  &#8230; <a href="https://www.emblogic.com/blog/02/single-client-server-and-single-thread-communication-with-using-the-shell-script/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.15<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 15;    selected revisions: 15<br />
description:<br />
In file all include header files related this project.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/02/25 06:18:43;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/02/25 06:15:12;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/02/24 09:13:23;  author: root;  state: Exp;  lines: +1 -0<br />
In file include a semaphore.h header files .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/02/24 08:44:38;  author: root;  state: Exp;  lines: +0 -1<br />
In file remove a prototype second thread hendler function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/02/23 16:38:46;  author: root;  state: Exp;  lines: +1 -0<br />
In file decalre a prototypes another handler function this handler in server in handler function return type void.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/02/23 11:41:03;  author: root;  state: Exp;  lines: +2 -1<br />
In file declare a prototypes of signal handler is return type is chany void not a void .<br />
void *.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/02/23 11:39:06;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/02/23 10:30:18;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/02/23 10:28:18;  author: root;  state: Exp;  lines: +1 -0<br />
In file now include a signal.h header file before declare a prototype signal handler functions.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/02/23 10:18:53;  author: root;  state: Exp;  lines: +1 -0<br />
In file include a new a header file signal.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/02/21 08:40:55;  author: root;  state: Exp;  lines: +1 -1<br />
In file check how working<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/02/21 08:08:10;  author: root;  state: Exp;  lines: +1 -1<br />
In file decalre a prototypes in will agrument pass in thread is type void *<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/02/21 07:49:17;  author: root;  state: Exp;  lines: +2 -0<br />
In file decalre a prototypes of processing client thread .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/02/20 05:54:00;  author: root;  state: Exp;  lines: +3 -0<br />
In file include a header files.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/02/20 05:33:07;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: request.h,v<br />
Working file: request.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;     selected revisions: 2<br />
description:<br />
In file assgin a data in structure then open a fifo in write only mode then write the data .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/02/23 10:19:14;  author: root;  state: Exp;  lines: +1 -0<br />
In file in structure member decalre a pid variable in int type.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/02/20 05:34:10;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: processing_client.c,v<br />
Working file: processing_client.c<br />
head: 1.30<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 30;    selected revisions: 30<br />
description:<br />
In file this is processing client thread this call from the server in file return and pasing argument is void *<br />
then decalre a struct operations type a variable then open a fifo in read only mode then read the data all.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/02/25 06:27:07;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/02/24 11:00:55;  author: root;  state: Exp;  lines: +11 -1<br />
In fioe        fd=open(&#8220;fifo&#8221;,O_RDONLY);</p>
<p>In file calling a sem_wait and sem_post and display this values.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/02/24 09:59:46;  author: root;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/02/24 09:28:27;  author: root;  state: Exp;  lines: +2 -0<br />
In file this thread starting call to the sem_wait beacuse now this thread for read for the working and any another<br />
thread don&#8217;t interupted so then this thread complete the work then call to the sem_post beacuse this thread works are complted and out of critical section this thread .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/02/24 09:17:08;  author: root;  state: Exp;  lines: +1 -1<br />
In file removes a sum bugs.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/02/24 09:16:27;  author: root;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/02/24 09:15:13;  author: root;  state: Exp;  lines: +2 -2<br />
In file decalre a properly sem<br />
sem_t type sem2 variable .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/02/24 08:45:16;  author: root;  state: Exp;  lines: +5 -3<br />
In file fretch a semaphore a variable void * type then this variable type cast in sem_init type and before signals methmethod are falied in thread because thread to main thread don&#8217;t send a signals always because thread id we do not can find<br />
in main_thread so that reason is falied<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/02/23 16:44:20;  author: root;  state: Exp;  lines: +1 -0<br />
decalre a pthread_t type id variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/02/23 16:39:52;  author: root;  state: Exp;  lines: +4 -1<br />
In file frecth the value in thread id void * type then type cast of pthread_id data type then pthread_kill using the<br />
SIGINT signal send the the main thread .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/02/21 09:48:10;  author: root;  state: Exp;  lines: +1 -1<br />
In file some corrections in code.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/02/21 09:42:17;  author: root;  state: Exp;  lines: +7 -1<br />
In file a get a data then solve the result means two variable add and in store a result variable then open a fifo<br />
in write only mode then write the result.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/02/21 09:18:11;  author: root;  state: Exp;  lines: +3 -3<br />
In file remvoe the sleep in 3 second<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/02/21 08:41:18;  author: root;  state: Exp;  lines: +2 -2<br />
In file pass a argument in a void * variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/02/21 08:29:01;  author: root;  state: Exp;  lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/02/21 08:15:14;  author: root;  state: Exp;  lines: +1 -1<br />
In file frecth a agrument is void * c<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/02/21 08:14:13;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/02/21 08:08:58;  author: root;  state: Exp;  lines: +1 -1<br />
In file fretch the argument thread_id varable void *<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/02/21 07:40:25;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: request_client.c,v<br />
Working file: request_client.c<br />
head: 1.13<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 13;    selected revisions: 13<br />
description:<br />
In file assgin a data in structure then open a fifo in write only mode then write the data .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/02/23 11:42:19;  author: root;  state: Exp;  lines: +1 -1<br />
In file signal handler change a return type only void not a void *.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/02/23 11:39:07;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/02/23 10:23:23;  author: root;  state: Exp;  lines: +16 -4<br />
In file make a signal handler names functions in file top and in which file calling to that functions and then add a<br />
pause() and when SIGINT signal is genrate then calling to signal handler functions and sleep is removes in file .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/02/21 11:34:30;  author: root;  state: Exp;  lines: +1 -0<br />
In file check how working.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/02/21 11:24:56;  author: root;  state: Exp;  lines: +2 -1<br />
In file calling to sleep.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/02/21 11:23:55;  author: root;  state: Exp;  lines: +2 -2<br />
In file some removes a bugs .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/02/21 11:23:10;  author: root;  state: Exp;  lines: +2 -2<br />
In file decarle a result variable .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/02/21 11:09:51;  author: root;  state: Exp;  lines: +17 -0<br />
In file open a fifo in read only mode if fd is negative then call to open then read a result if read is failed then<br />
report to read then display the result.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/02/20 17:45:12;  author: root;  state: Exp;  lines: +1 -1<br />
In file add a count varable how many bytes write a request_client in fifo then return a count any case count falied then then report it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/02/20 13:17:05;  author: root;  state: Exp;  lines: +1 -0<br />
In file decalre a fd,count variables.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/02/20 13:16:15;  author: root;  state: Exp;  lines: +3 -3<br />
In file some removes a bugs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/02/20 13:14:12;  author: root;  state: Exp;  lines: +1 -1<br />
In file included request.h file corrections the speling mistake .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/02/20 05:34:55;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: server.c,v<br />
Working file: server.c<br />
head: 1.43<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 43;    selected revisions: 43<br />
description:<br />
In file decalre a structure variable then check if user allow a permissions then create a fifo then read  a structure<br />
then display a structure .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2016/02/25 08:28:56;  author: root;  state: Exp;  lines: +1 -1<br />
In file create a thread semaphore in semaphore a some eshu then resolve this .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2016/02/25 06:25:03;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2016/02/25 06:22:47;  author: root;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/02/25 06:15:14;  author: root;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/02/25 06:13:16;  author: root;  state: Exp;  lines: +2 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/02/25 05:58:10;  author: root;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
revision 1.37<br />
date: 2016/02/25 05:52:27;  author: root;  state: Exp;  lines: +25 -30<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/02/24 12:36:19;  author: root;  state: Exp;  lines: +3 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/02/24 12:30:26;  author: root;  state: Exp;  lines: +44 -39<br />
In file add a some if conditions.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/02/24 11:36:48;  author: root;  state: Exp;  lines: +6 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/02/24 11:04:45;  author: root;  state: Exp;  lines: +10 -4<br />
In file calling a sem_wait and sem_post in 6 times and display the 6 times.<br />
.\<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/02/24 10:30:02;  author: root;  state: Exp;  lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/02/24 10:08:40;  author: root;  state: Exp;  lines: +2 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/02/24 10:04:01;  author: root;  state: Exp;  lines: +9 -7<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/02/24 09:59:50;  author: root;  state: Exp;  lines: +6 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/02/24 09:31:47;  author: root;  state: Exp;  lines: +3 -2<br />
In file create thread before call to the sem_wait thread beacuse this thread is working of ready any other thread din&#8217;t interupted then write a data and then call to sem_post beasue this work is complted this main_thread out of critical<br />
sections.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/02/24 09:14:06;  author: root;  state: Exp;  lines: +1 -1<br />
In file remove a some errors.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/02/24 08:52:01;  author: root;  state: Exp;  lines: +15 -15<br />
In file create a thread semhaphore a and then add a condtions if any cases falied a so return -1 or any negative value<br />
and report the sem_init then add a sem_wait beause In critial section in thread then thread sem_post call then move<br />
and critical section  in main thread<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/02/23 16:41:47;  author: root;  state: Exp;  lines: +9 -13<br />
In file sleep(3) is system call removes and this replace a in pause and make a signal handler SIGINT signal and this<br />
handler function calling the in server means main thread .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/02/23 11:29:29;  author: root;  state: Exp;  lines: +2 -2<br />
In file just checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/02/23 10:26:22;  author: root;  state: Exp;  lines: +29 -2<br />
Im file send a signal send a SIGINT siganl in request client process .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/02/21 11:34:48;  author: root;  state: Exp;  lines: +0 -1<br />
In file check how working..<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/02/21 11:19:41;  author: root;  state: Exp;  lines: +21 -0<br />
In file get a result then open a fifo in write only mode then if fd is no is negative then report the open and out<br />
then write a result if any condition write is failed then report to write .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/02/21 10:52:08;  author: root;  state: Exp;  lines: +2 -3<br />
In file add twos sleep in 2-2 sec .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/02/21 09:44:06;  author: root;  state: Exp;  lines: +8 -0<br />
In file open a fifo then read only mode then read a result then display the result in server.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/02/21 09:26:33;  author: root;  state: Exp;  lines: +1 -0<br />
In file add a sleep in 2 second .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/02/21 09:25:17;  author: root;  state: Exp;  lines: +0 -1<br />
In file sleep is removed<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/02/21 09:18:30;  author: root;  state: Exp;  lines: +2 -2<br />
In file add a sleep in 3 second .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/02/21 08:41:43;  author: root;  state: Exp;  lines: +0 -1<br />
/.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/02/21 08:16:40;  author: root;  state: Exp;  lines: +1 -0<br />
In file c is decalre variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/02/21 08:15:39;  author: root;  state: Exp;  lines: +1 -1<br />
In file pass a agrument in thread c<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/02/21 08:14:14;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/02/21 08:12:39;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/02/21 08:09:56;  author: root;  state: Exp;  lines: +1 -1<br />
In file pass the argument in thread calling tym in server and before types to chnge a void * varbale .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/02/21 08:04:33;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/02/21 08:02:35;  author: root;  state: Exp;  lines: +1 -1<br />
In file put the NULL is some error then type cast is void *<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/02/21 08:01:09;  author: root;  state: Exp;  lines: +1 -1<br />
In file thread calling in agrument is NULL.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/02/21 07:54:08;  author: root;  state: Exp;  lines: +1 -1<br />
In file correction the thread_create to chnge pthread_create and give the thread id is reffrence<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/02/21 07:49:55;  author: root;  state: Exp;  lines: +2 -2<br />
In file declare a thread_id variable this data type of pthread_t<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/02/21 07:43:08;  author: root;  state: Exp;  lines: +14 -0<br />
In file firstly create a thread then thread created then open a fifo in write only mode then write a the data in fifo.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/02/20 17:58:58;  author: root;  state: Exp;  lines: +2 -2<br />
date: 2016/02/20 17:58:58;  author: root;  state: Exp;  lines: +2 -2<br />
In file server how many read a bytes sucessfully then return a no. of bytes store in count if read is failed then reporreport the read call .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/02/20 05:54:11;  author: root;  state: Exp;  lines: +3 -1<br />
In file declare a variables .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/02/20 05:35:20;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================<br />
(-SHELL SCRIPT-<br />
#! /bin/bash</p>
<p>delete()<br />
{<br />
rm -rf request_client<br />
rm -rf *.o<br />
rm -rf server<br />
}</p>
<p>edit()<br />
{<br />
read -p &#8220;do you want a edit further (y or n)&#8221; answer</p>
<p>if [ 'y' = $answer ]<br />
then</p>
<p>for file in $(ls *.h,v)<br />
do<br />
co -l $file<br />
done</p>
<p>for file in $(ls *.c,v)<br />
do<br />
co -l $file<br />
done<br />
delete<br />
exit 0<br />
fi</p>
<p>}</p>
<p>execute()<br />
{<br />
read -p &#8220;do you want a compile a project&#8221; answer</p>
<p>if [ 'y' = $answer ]<br />
then<br />
if ( gcc -c  server.c -lpthread)<br />
then<br />
echo &#8220;compile is successfull&#8221;<br />
else<br />
echo &#8220;compile is failed&#8221;<br />
edit<br />
fi</p>
<p>if ( gcc -o request_client request_client.c )<br />
then<br />
echo &#8220;compile is sucessfull&#8221;<br />
else<br />
echo &#8220;compile is failed&#8221;<br />
edit<br />
fi</p>
<p>if ( gcc -c processing_client.c -lpthread )<br />
then<br />
echo &#8220;compile is sucessfull&#8221;<br />
else<br />
echo &#8220;compile is failed&#8221;<br />
edit<br />
fi<br />
else<br />
edit<br />
fi</p>
<p>read -p &#8220;do you want a execute this project&#8221; answer</p>
<p>if [ 'y' = $answer ]<br />
then<br />
if (gcc -o server server.o processing_client.o -lpthread)<br />
then<br />
./server &amp; ./request_client -lpthread<br />
else<br />
echo &#8220;executeable is failed&#8221;<br />
edit<br />
fi<br />
else<br />
edit<br />
fi</p>
<p>}</p>
<p>logfile()<br />
{<br />
read -p &#8220;do you want a run a logfile&#8221; answer<br />
if [ 'y' = $answer ]<br />
then<br />
chmod +x rlog.sh<br />
./rlog.sh<br />
fi<br />
}</p>
<p>for file in $(ls *.h)<br />
do<br />
ci $file<br />
done</p>
<p>for file in $(ls *.c)<br />
do<br />
ci $file<br />
done</p>
<p>for file in $(ls *.h,v)<br />
do<br />
co $file<br />
done</p>
<p>for file in $(ls *.c,v)<br />
do<br />
co $file<br />
done<br />
execute<br />
logfile<br />
edit</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/single-client-server-and-single-thread-communication-with-using-the-shell-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ls &#8211; list command</title>
		<link>https://www.emblogic.com/blog/02/ls-list-command/</link>
		<comments>https://www.emblogic.com/blog/02/ls-list-command/#comments</comments>
		<pubDate>Wed, 10 Feb 2016 17:20:32 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[ll]]></category>
		<category><![CDATA[long list]]></category>
		<category><![CDATA[ls]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[shell scripting]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13262</guid>
		<description><![CDATA[ls &#8211; list command ================= - ls means list directory content - Prototype : ls [OPTION] &#8230; [FILE] &#8230; - Exit status It returns 0 ,on success Returns 1 in case of minor problems (eg. cannot access subdirectory) returns 2 &#8230; <a href="https://www.emblogic.com/blog/02/ls-list-command/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>ls &#8211; list command<br />
=================<br />
- ls means list directory content<br />
- Prototype :<br />
ls [OPTION] &#8230; [FILE] &#8230;<br />
- Exit status<br />
It returns 0 ,on success<br />
Returns 1 in case of minor problems (eg. cannot access subdirectory)<br />
returns 2 in case of serious trouble (eg. Cannot access command line argument)<br />
- For specific listing you can use *<br />
eg.1) For listing all files starting with a use :<br />
ls a*<br />
2) for listing all .c files use :<br />
ls *.c<br />
3) for listing all .c files starting with a use :<br />
ls a*.c<br />
- Some common options are :<br />
i) -a &#8211;all &#8211;&gt; Do not ignore enteries starting with .<br />
Use this to view swap or temporary files.<br />
ii) -l &#8211;&gt; long listing format<br />
iii) -r &#8211;) Reverse order sort (by name) and list<br />
iv) -s &#8211;size &#8211;&gt; Print allocated size of each file in blocks<br />
v) -S &#8211;&gt; Sort by file size<br />
vi) -t &#8211;&gt; Sort by modification time, newest first<br />
vii) -U &#8211;&gt; Do not sort; list enteries in directory order<br />
viii) -X &#8211;&gt; Sort alphabetically by entry extension.<br />
ix) -F &#8211;&gt; to distinguish files from directories (Puts / in directory and * with executable files)<br />
x) -R &#8211;&gt; It shows files that are contained in directory. It continued to dirrectory in a directory and so on.</p>
<p>- In fedora for long lsting use command :</p>
<p>ll</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/ls-list-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CD &#8211; Change Directory Command</title>
		<link>https://www.emblogic.com/blog/02/cd-change-directory-command/</link>
		<comments>https://www.emblogic.com/blog/02/cd-change-directory-command/#comments</comments>
		<pubDate>Wed, 10 Feb 2016 17:18:28 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cd]]></category>
		<category><![CDATA[change directory]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fedora linux]]></category>
		<category><![CDATA[shell script]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13260</guid>
		<description><![CDATA[CD &#8211; Change Directory Command ============================= - cd means change working directory - Prototype: cd [-L &#124; -P] [directory] cd - -If you do not give any directory to cd command, it will take you to home directory. eg. cd &#8230; <a href="https://www.emblogic.com/blog/02/cd-change-directory-command/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>CD &#8211; Change Directory Command<br />
=============================<br />
- cd means change working directory<br />
- Prototype:<br />
cd [-L | -P] [directory]<br />
cd -<br />
-If you do not give any directory to cd command, it will take you to home directory.<br />
eg. cd &#8211;&gt; It will go to home directory.<br />
- For previous directory use :<br />
cd ..<br />
- Further for more than one previous directory use :<br />
cd ../..<br />
- Directory can be defined by 2 types :<br />
i) Absolute filepath &#8211; Path starting from &#8216;/&#8217;.<br />
eg. cd /usr/bin/<br />
ii)Relative Filepath &#8211; Path relative to current directory<br />
eg. cd /usr &#8211;&gt; Absolute filepath<br />
cd etc &#8211;&gt; Relative Filepath</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/cd-change-directory-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Common linux virtual directories</title>
		<link>https://www.emblogic.com/blog/02/common-linux-virtual-directories/</link>
		<comments>https://www.emblogic.com/blog/02/common-linux-virtual-directories/#comments</comments>
		<pubDate>Tue, 09 Feb 2016 15:00:57 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>
		<category><![CDATA[/home]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[directories]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtual]]></category>
		<category><![CDATA[virtual directories]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13258</guid>
		<description><![CDATA[Common Linux Virtual Directories ================================= Directory               Usage / Root                     of virtual directory. No files are placed here (normally) /bin         &#8230; <a href="https://www.emblogic.com/blog/02/common-linux-virtual-directories/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Common Linux Virtual Directories<br />
=================================<br />
Directory               Usage<br />
/ Root                     of virtual directory. No files are placed here (normally)<br />
/bin                         Binary directory.GNU user level utilities are stored<br />
/boot                       Boot directory.Boot files are stored here<br />
/dev                         device directory, where linux creates device nodes<br />
/etc                          system configuration files directory<br />
/home                      home directory, user directories are placed here<br />
/lib                          System &amp; application library files are stored here<br />
/media                   Common place for mount point of removable media<br />
/mnt                        mount directory, for removable devices<br />
/opt                         used to store optional software packages<br />
/root                       home directory of root user<br />
/sbin                      GNU admin level utilities are store here<br />
/tmp                       Temporary work files are created and destroyed<br />
/usr                        User installed softwares directory<br />
/var                         For frequently changing directory ,such as log files</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/common-linux-virtual-directories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Filesystem</title>
		<link>https://www.emblogic.com/blog/02/linux-filesystem/</link>
		<comments>https://www.emblogic.com/blog/02/linux-filesystem/#comments</comments>
		<pubDate>Tue, 09 Feb 2016 14:56:41 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[root]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13255</guid>
		<description><![CDATA[Linux Filesystem ================ - In windows, physical drive determines the pathname of the file. - Windows assigns a letter to each disk drive. - Each directory contains its own directory structure for accesing files stored in it. - For eg. &#8230; <a href="https://www.emblogic.com/blog/02/linux-filesystem/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Linux Filesystem<br />
================<br />
- In windows, physical drive determines the pathname of the file.<br />
- Windows assigns a letter to each disk drive.<br />
- Each directory contains its own directory structure for accesing files stored in it.<br />
- For eg. in windows filepath is as:<br />
c:\Users\ankur\Documents\Lessons.doc</p>
<p>- Linux does not use drive letters in pathnames like windows.<br />
- Linux stores files within a single directory structure, called a virtual directory.<br />
- Virtual directory contains filepaths from all storage devices installed on PC, mergedinto a single directory.<br />
- There is a single base directory, called the root.<br />
- root drive contains core of virtual directory.<br />
- On root drive, Linux has special directories called mount points.<br />
-When we start a new shell prompt, your session starts in your home directory.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/linux-filesystem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get help in Linux &#8211; Fedora</title>
		<link>https://www.emblogic.com/blog/02/how-to-get-help-in-linux-fedora/</link>
		<comments>https://www.emblogic.com/blog/02/how-to-get-help-in-linux-fedora/#comments</comments>
		<pubDate>Tue, 09 Feb 2016 14:54:58 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[info]]></category>
		<category><![CDATA[info page]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[man]]></category>
		<category><![CDATA[man page]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13253</guid>
		<description><![CDATA[To get help in fedora ===================== To learn about any new command, function or utility in Fedora we can get help from it. It has 3 such commands :- i) man pages &#8211; These are manual pages . - It &#8230; <a href="https://www.emblogic.com/blog/02/how-to-get-help-in-linux-fedora/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>To get help in fedora<br />
=====================<br />
To learn about any new command, function or utility in Fedora we can get help from it.<br />
It has 3 such commands :-</p>
<p>i) man pages &#8211; These are manual pages .<br />
- It contains interface to online reference manuals<br />
- Press q to exit.<br />
- How to Use ( Command ) &#8211; man command_name<br />
- for all man pages of BASH shell, use<br />
man bash<br />
- It generally contains following information about command(command_name) :-<br />
* Name<br />
* Synopsis (Prototype)<br />
* Description (Options)<br />
* Author (author of command)<br />
* Reporting Bugs (Feedback emails/Website)<br />
* Copyright (copyright details)<br />
* See Also (for further reference of command)</p>
<p>ii) Info pages &#8211; Read info documents<br />
- It contains BASH manuals.<br />
- Press q to exit<br />
- How to Use (command) &#8211; info command_name<br />
- It contains information about :-<br />
* Prototype<br />
* Introduction<br />
* Options<br />
* Exit Status<br />
iii) help command<br />
- It gives basic help for using a command and its various options.<br />
- It gives output on Standard Output.<br />
- It do not require exit command.<br />
- How to Use (command) &#8211; help command_name<br />
- It contains following information about command (command_name) :-<br />
* Function of command<br />
* Options<br />
* Exit status</p>
<p>eg.<br />
man echo<br />
info echo<br />
help echo</p>
<p>- To check total no. of enteries in each of three<br />
I) type either of three (with space at end)<br />
II) Press tab button for 3-4 times.<br />
We will get the total number of possible options defined or list of them also.<br />
eg. (&lt;tab&gt; means Press tab button)<br />
man &lt;tab&gt;&lt;tab&gt;&lt;tab&gt;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/how-to-get-help-in-linux-fedora/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to change default prompt in BASH shell</title>
		<link>https://www.emblogic.com/blog/02/how-to-change-default-prompt-in-bash-shell/</link>
		<comments>https://www.emblogic.com/blog/02/how-to-change-default-prompt-in-bash-shell/#comments</comments>
		<pubDate>Sun, 07 Feb 2016 15:46:40 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[change default prompt]]></category>
		<category><![CDATA[default prompt]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[PS1]]></category>
		<category><![CDATA[PS2]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[shell scripting]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13238</guid>
		<description><![CDATA[To change default prompt :- ======================== - We can change default prompt by assigning the character to it. - Each character have a specific meaning. BASH Shell Prompt Characters :- Character Description \a Bell Character \d Date in format &#8220;Day &#8230; <a href="https://www.emblogic.com/blog/02/how-to-change-default-prompt-in-bash-shell/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>To change default prompt :-<br />
========================<br />
- We can change default prompt by assigning the character to it.<br />
- Each character have a specific meaning.</p>
<p>BASH Shell Prompt Characters :-<br />
Character Description<br />
\a Bell Character<br />
\d Date in format &#8220;Day Month Date&#8221;<br />
\e ASCII escape character<br />
\h Local hostname<br />
\H Fully qualified domain hostname<br />
\j Number of jobs currently managed by the shell<br />
\l Basename of the shell&#8217;s terminal device name<br />
\n ASCII newline character<br />
\r ASCII carriage return<br />
\s Name of the shell<br />
\t Current time in 24-hour HH:MM:SS format<br />
\T Current time in 12-hour HH:MM:SS format<br />
\@ Current time in 12-hour am/pm format<br />
\u Username of current user<br />
\v Version of BASH shell<br />
\V Release level of bash shell<br />
\w Current working directory<br />
\W Basename of current working directory<br />
\# Command number of this command<br />
\$ A dollar sign if normal user, #(Pound) for root user<br />
/nnn Character corresponding to value nnn<br />
\\ Backslash<br />
\[ Begins a control code sequence<br />
/] Ends a control code sequence</p>
<p>eg.<br />
[ankur@(none) ~]$ PS1 = &#8220;[\t][\u]$&#8221;<br />
[15:20:30][ankur]$</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/how-to-change-default-prompt-in-bash-shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Command line Prompt &#8211; PS1, PS2</title>
		<link>https://www.emblogic.com/blog/02/command-line-prompt-ps1-ps2/</link>
		<comments>https://www.emblogic.com/blog/02/command-line-prompt-ps1-ps2/#comments</comments>
		<pubDate>Sun, 07 Feb 2016 15:44:42 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[command line prompt]]></category>
		<category><![CDATA[environmental variables]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[PS1]]></category>
		<category><![CDATA[PS2]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[shell scripting]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13236</guid>
		<description><![CDATA[Command line Prompt =================== Environmental variables that controls Command line Prompt PS1 : Controls the format of default command line prompt. PS2 : Controls the format of second-tier command line prompt. PS3 : Controls the format of tertiary command line &#8230; <a href="https://www.emblogic.com/blog/02/command-line-prompt-ps1-ps2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Command line Prompt<br />
===================<br />
Environmental variables that controls Command line Prompt<br />
PS1 : Controls the format of default command line prompt.<br />
PS2 : Controls the format of second-tier command line prompt.<br />
PS3 : Controls the format of tertiary command line prompt.</p>
<p>- Shell uses default PS1 prompt for initial data entry into shell.<br />
- If we enter a command that requires additional information, shell displays second-tier prompt specified by PS2 .<br />
- To display current settings for prompt use command :<br />
echo $PS1<br />
echo $PS2<br />
- PS3 is used only in shell scripts.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/command-line-prompt-ps1-ps2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Run Levels</title>
		<link>https://www.emblogic.com/blog/02/linux-run-levels/</link>
		<comments>https://www.emblogic.com/blog/02/linux-run-levels/#comments</comments>
		<pubDate>Tue, 02 Feb 2016 12:36:51 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[run level]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13216</guid>
		<description><![CDATA[Linux Run Levels ================ Run Level    Description 0                    Halt 1                     Single-User mode 2                    Multi-user mode, usually &#8230; <a href="https://www.emblogic.com/blog/02/linux-run-levels/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Linux Run Levels<br />
================<br />
Run Level    Description<br />
0                    Halt<br />
1                     Single-User mode<br />
2                    Multi-user mode, usually without networking support<br />
3                    Full multi-user mode with networking<br />
4                    Unused<br />
5                    Multiuser mode with networking and a graphical X window Session<br />
6                    Reboot</p>
<p>- To change run level use init command</p>
<p>init run_level<br />
- Most normal is run level 5 for graphical linux system.<br />
- Level 1 is used for troubleshooting or emergency purpose.<br />
- Most linux softwares start the network softwares at run level 3.<br />
- What aplications work at Run level is determined by system by RC script.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/linux-run-levels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boot process of linux</title>
		<link>https://www.emblogic.com/blog/02/boot-process-of-linux/</link>
		<comments>https://www.emblogic.com/blog/02/boot-process-of-linux/#comments</comments>
		<pubDate>Tue, 02 Feb 2016 12:27:09 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13214</guid>
		<description><![CDATA[The boot process of linux ========================= - After you turn on your Linux System, linux kernel loads into memory and runs. - Firstly, it runs the init process. - init program is usually located at /sbin/init. - init process has &#8230; <a href="https://www.emblogic.com/blog/02/boot-process-of-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The boot process of linux<br />
=========================<br />
- After you turn on your Linux System, linux kernel loads into memory and runs.<br />
- Firstly, it runs the init process.<br />
- init program is usually located at /sbin/init.<br />
- init process has PID 1.<br />
- The init process then starts all other processes.<br />
- The init process reads the /etc/inittab file during boot (This is outdated now).</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/boot-process-of-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python (widely used language)</title>
		<link>https://www.emblogic.com/blog/06/python-widely-used-language/</link>
		<comments>https://www.emblogic.com/blog/06/python-widely-used-language/#comments</comments>
		<pubDate>Wed, 04 Jun 2014 10:10:06 +0000</pubDate>
		<dc:creator><![CDATA[preetasr1807]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10310</guid>
		<description><![CDATA[Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C. The language provides &#8230; <a href="https://www.emblogic.com/blog/06/python-widely-used-language/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C. The language provides constructs intended to enable clear programs on both a small and large scale.<br />
Python supports multiple programming paradigms, including object-oriented,imperative and functional programming or procedural styles. It features adynamic type system and automatic memory management and has a large and comprehensive standard library.<br />
Like other dynamic languages, Python is often used as a scripting language, but is also used in a wide range of non-scripting contexts. Using third-party tools, such as Py2exe or Pyinstaller, Python code can be packaged into standalone executable programs. Python interpreters are available for many operating systems.<br />
<span id="more-10310"></span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/python-widely-used-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shell Script basics</title>
		<link>https://www.emblogic.com/blog/04/shell-script-basics/</link>
		<comments>https://www.emblogic.com/blog/04/shell-script-basics/#comments</comments>
		<pubDate>Sat, 19 Apr 2014 20:15:10 +0000</pubDate>
		<dc:creator><![CDATA[akshatembdev]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=9858</guid>
		<description><![CDATA[RCS file: script,v Working file: script head: 1.34 branch: locks: strict akshat: 1.34 access list: symbolic names: keyword substitution: kv total revisions: 34;    selected revisions: 34 description: Introduction to shell script. Shells are wrappers around os, shells can act as &#8230; <a href="https://www.emblogic.com/blog/04/shell-script-basics/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: script,v<br />
Working file: script<br />
head: 1.34<br />
branch:<br />
locks: strict<br />
akshat: 1.34<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 34;    selected revisions: 34<br />
description:<br />
Introduction to shell script.<br />
Shells are wrappers around os, shells can act as interface b/w user and kernel.<br />
shells takes the commands entered by user and calls the os to run those commands.<br />
the $ is shell prompt.<br />
Bash is default shell, Every shell has some process id.<br />
we can change the shell by using chsh(change shell command)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34    locked by: akshat;<br />
date: 2014/04/06 05:25:04;  author: akshat;  state: Exp;  lines: +1 -1<br />
proper spaces are to be given for comparison, eq can also be used for the same.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2014/04/06 05:23:20;  author: akshat;  state: Exp;  lines: +1 -1<br />
conditions are checked.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2014/04/06 05:22:49;  author: akshat;  state: Exp;  lines: +1 -1<br />
 <img src="https://www.emblogic.com/blog/wp-includes/images/smilies/icon_biggrin.gif" alt=":D" class="wp-smiley" /><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2014/04/06 05:21:52;  author: akshat;  state: Exp;  lines: +2 -0<br />
working on elif.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2014/04/06 05:18:57;  author: akshat;  state: Exp;  lines: +3 -1<br />
if else working.<br />
now will work for else if.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2014/04/06 05:17:10;  author: akshat;  state: Exp;  lines: +1 -1<br />
read $3 and then echo $3, confusion :O<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2014/04/06 05:07:01;  author: akshat;  state: Exp;  lines: +2 -2<br />
working.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2014/04/06 05:04:41;  author: akshat;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2014/04/06 04:59:57;  author: akshat;  state: Exp;  lines: +1 -1<br />
conditional statements are working.<br />
goin ahead for else nd ifelse<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2014/04/06 04:56:43;  author: akshat;  state: Exp;  lines: +2 -1<br />
if statement uses then nd fi instead of braces.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2014/04/06 04:52:32;  author: akshat;  state: Exp;  lines: +4 -1<br />
using conditional statements in scripts now.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2014/04/06 04:44:24;  author: akshat;  state: Exp;  lines: +2 -4<br />
read is now used in reading directly from command line.<br />
read $3<br />
10 echo  $3<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2014/04/06 04:43:05;  author: akshat;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2014/04/06 04:41:23;  author: akshat;  state: Exp;  lines: +2 -1<br />
echo #$ will give a blank line.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2014/04/06 04:38:36;  author: akshat;  state: Exp;  lines: +1 -0<br />
echo $# will give the list of command line arguments<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2014/04/06 04:37:41;  author: akshat;  state: Exp;  lines: +2 -1<br />
echo $$ is used to give pid of script.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2014/04/06 04:35:14;  author: akshat;  state: Exp;  lines: +1 -1<br />
echo -n is used for appending the interpretation in same line.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2014/04/06 04:31:35;  author: akshat;  state: Exp;  lines: +2 -2<br />
echo $* will print all the command line arguments.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2014/04/06 04:30:01;  author: akshat;  state: Exp;  lines: +2 -2<br />
passing second command line argument now.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2014/04/06 04:28:07;  author: akshat;  state: Exp;  lines: +1 -0<br />
command line arguments, How to present these command line arguments in a script.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2014/04/06 04:27:07;  author: akshat;  state: Exp;  lines: +2 -1<br />
line by line taking read.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2014/04/06 04:04:45;  author: akshat;  state: Exp;  lines: +2 -0<br />
read is used for stdin in scripting.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/04/06 04:03:09;  author: akshat;  state: Exp;  lines: +1 -1<br />
single inverted commas are interpreted differently.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2014/04/06 04:02:05;  author: akshat;  state: Exp;  lines: +1 -1<br />
:):):):)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/04/06 04:00:31;  author: akshat;  state: Exp;  lines: +1 -0<br />
working on more commands :D.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/04/06 03:58:37;  author: akshat;  state: Exp;  lines: +2 -1<br />
echo &#8220;akshat&#8221;$PATH will give various paths, Basically it is predefined macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/04/06 03:55:29;  author: akshat;  state: Exp;  lines: +1 -1<br />
Script can also be referred to as collection of commands.<br />
Program is collection of statements.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/04/06 03:53:27;  author: akshat;  state: Exp;  lines: +2 -2<br />
echo &#8220;akshat&#8221; $HOME will give the path of home.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/04/06 03:52:49;  author: akshat;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/04/06 03:51:12;  author: akshat;  state: Exp;  lines: +1 -1<br />
working on more commands in same script.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/04/06 03:46:59;  author: akshat;  state: Exp;  lines: +1 -1<br />
value can be assigned to any variable var1=1 without using space btw variable and =.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/04/06 03:45:41;  author: akshat;  state: Exp;  lines: +2 -0<br />
working on more commands in script.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/04/06 03:33:25;  author: akshat;  state: Exp;  lines: +3 -0<br />
Echo command is used for printing a string.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/04/06 03:30:30;  author: akshat;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/shell-script-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>working on shell scripting</title>
		<link>https://www.emblogic.com/blog/04/working-on-shell-scripting/</link>
		<comments>https://www.emblogic.com/blog/04/working-on-shell-scripting/#comments</comments>
		<pubDate>Tue, 15 Apr 2014 06:42:42 +0000</pubDate>
		<dc:creator><![CDATA[hanspreet.kaur]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=9794</guid>
		<description><![CDATA[RCS file: scripting1.sh,v 3 Working file: scripting1.sh 4 head: 5 branch: 6 locks: strict 7 access list: 8 symbolic names: 9 keyword substitution: kv 10 total revisions: 0 11 description: 12 scripting 13 printing value using &#8220;echo&#8221; 14 ============================================================================ RCS &#8230; <a href="https://www.emblogic.com/blog/04/working-on-shell-scripting/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: scripting1.sh,v<br />
3 Working file: scripting1.sh<br />
4 head:<br />
5 branch:<br />
6 locks: strict<br />
7 access list:<br />
8 symbolic names:<br />
9 keyword substitution: kv<br />
10 total revisions: 0<br />
11 description:<br />
12 scripting<br />
13 printing value using &#8220;echo&#8221;<br />
14 ============================================================================</p>
<p>RCS file: scripting2.sh,v<br />
3 Working file: scripting2.sh<br />
4 head:<br />
5 branch:<br />
6 locks: strict<br />
7 access list:<br />
8 symbolic names:<br />
9 keyword substitution: kv<br />
10 total revisions: 0<br />
11 description:<br />
12 Scripting<br />
13 using command unset to remove the assigned value<br />
14 ============================================================================ RCS file: scripting3.sh,v<br />
3 Working file: scripting3.sh<br />
4 head:<br />
5 branch:<br />
6 locks: strict<br />
7 access list:<br />
8 symbolic names:<br />
9 keyword substitution: kv<br />
10 total revisions: 0<br />
11 description:<br />
12 scripting<br />
13 printing the words in same line using &#8220;-n&#8221;<br />
14 ============================================================================</p>
<p>RCS file: scripting5.sh,v<br />
3 Working file: scripting5.sh<br />
4 head:<br />
5 branch:<br />
6 locks: strict<br />
7 access list:<br />
8 symbolic names:<br />
9 keyword substitution: kv<br />
10 total revisions: 0<br />
11 description:<br />
12 using else if in script<br />
13 ============================================================================</p>
<p>RCS file: scripting6.sh,v<br />
3 Working file: scripting6.sh<br />
4 head:<br />
5 branch:<br />
6 locks: strict<br />
7 access list:<br />
8 symbolic names:<br />
9 keyword substitution: kv<br />
10 total revisions: 0<br />
11 description:<br />
12 using case in script<br />
13 ============================================================================</p>
<p>RCS file: scripting8.sh,v<br />
3 Working file: scripting8.sh<br />
4 head:<br />
5 branch:<br />
6 locks: strict<br />
7 access list:<br />
8 symbolic names:<br />
9 keyword substitution: kv<br />
10 total revisions: 0<br />
11 description:<br />
12 using for loop in script<br />
13 ============================================================================</p>
<p>RCS file: scripting11.sh,v<br />
3 Working file: scripting11.sh<br />
4 head:<br />
5 branch:<br />
6 locks: strict<br />
7 access list:<br />
8 symbolic names:<br />
9 keyword substitution: kv<br />
10 total revisions: 0<br />
11 description:<br />
12 using while loop and `expr` in script<br />
13 ============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/working-on-shell-scripting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>how to give command line arguments to a self defined command created using shell scripting?</title>
		<link>https://www.emblogic.com/blog/03/how-to-give-command-line-arguments-to-a-self-defined-command-created-using-shell-scripting/</link>
		<comments>https://www.emblogic.com/blog/03/how-to-give-command-line-arguments-to-a-self-defined-command-created-using-shell-scripting/#comments</comments>
		<pubDate>Sat, 08 Mar 2014 06:24:19 +0000</pubDate>
		<dc:creator><![CDATA[deepanshusharma]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=8950</guid>
		<description><![CDATA[&#160; this script uses two arguments given while using the command (script name) which it uses to replace $1 (first argument) $2 (second argument).]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.emblogic.com/blog/03/how-to-give-command-line-arguments-to-a-self-defined-command-created-using-shell-scripting/screenshot-from-2014-03-08-114356/" rel="attachment wp-att-8951"><img class="alignnone size-medium wp-image-8951" src="http://www.emblogic.com/blog/wp-content/uploads/2014/03/Screenshot-from-2014-03-08-114356-300x168.png" alt="" width="300" height="168" /></a></p>
<p>&nbsp;</p>
<p>this script uses two arguments given while using the command (script name) which it uses to replace $1 (first argument) $2 (second argument).</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/how-to-give-command-line-arguments-to-a-self-defined-command-created-using-shell-scripting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
