From e4b0a331c8d18d7370a015a53c3238914d5b6bf9 Mon Sep 17 00:00:00 2001
From: dollydaga <43602529+dollydaga@users.noreply.github.com>
Date: Wed, 27 Mar 2019 09:08:54 +0530
Subject: [PATCH 1/2] Shell Scripting
---
92_Dollydaga/add.sh | 6 ++++++
92_Dollydaga/div.sh | 7 +++++++
92_Dollydaga/hello.sh | 3 +++
92_Dollydaga/mod.sh | 6 ++++++
92_Dollydaga/mul.sh | 6 ++++++
92_Dollydaga/subtract.sh | 6 ++++++
6 files changed, 34 insertions(+)
create mode 100644 92_Dollydaga/add.sh
create mode 100644 92_Dollydaga/div.sh
create mode 100644 92_Dollydaga/hello.sh
create mode 100644 92_Dollydaga/mod.sh
create mode 100644 92_Dollydaga/mul.sh
create mode 100644 92_Dollydaga/subtract.sh
diff --git a/92_Dollydaga/add.sh b/92_Dollydaga/add.sh
new file mode 100644
index 0000000..767d59a
--- /dev/null
+++ b/92_Dollydaga/add.sh
@@ -0,0 +1,6 @@
+echo "Please enter first number"
+read a
+echo "Please enter the second number"
+read b
+echo "The sum is:"
+echo `expr $a + $b`
diff --git a/92_Dollydaga/div.sh b/92_Dollydaga/div.sh
new file mode 100644
index 0000000..6112832
--- /dev/null
+++ b/92_Dollydaga/div.sh
@@ -0,0 +1,7 @@
+echo "Please enter first number"
+read a
+echo "Please enter the second number"
+read b
+echo "The quoteint after division is:"
+c=`echo $a / $b | bc`
+echo $c
diff --git a/92_Dollydaga/hello.sh b/92_Dollydaga/hello.sh
new file mode 100644
index 0000000..9b268aa
--- /dev/null
+++ b/92_Dollydaga/hello.sh
@@ -0,0 +1,3 @@
+echo "Enter your name"
+read my_name
+echo "Hello $my_name"
diff --git a/92_Dollydaga/mod.sh b/92_Dollydaga/mod.sh
new file mode 100644
index 0000000..6508a9e
--- /dev/null
+++ b/92_Dollydaga/mod.sh
@@ -0,0 +1,6 @@
+echo "Please enter first number"
+read a
+echo "Please enter the second number"
+read b
+echo "The remainder is:"
+echo `expr $a % $b`
diff --git a/92_Dollydaga/mul.sh b/92_Dollydaga/mul.sh
new file mode 100644
index 0000000..ca6123f
--- /dev/null
+++ b/92_Dollydaga/mul.sh
@@ -0,0 +1,6 @@
+echo "Please enter first number"
+read a
+echo "Please enter the second number"
+read b
+echo "The product is:"
+echo `expr $a \* $b`
diff --git a/92_Dollydaga/subtract.sh b/92_Dollydaga/subtract.sh
new file mode 100644
index 0000000..bc2efee
--- /dev/null
+++ b/92_Dollydaga/subtract.sh
@@ -0,0 +1,6 @@
+echo "Please enter first number"
+read a
+echo "Please enter the second number"
+read b
+echo "The difference is:"
+echo `expr $a - $b`
From f8183d09f21f52848001e6c5836852ab9cc82dfb Mon Sep 17 00:00:00 2001
From: dollydaga <43602529+dollydaga@users.noreply.github.com>
Date: Tue, 30 Apr 2019 23:58:23 +0530
Subject: [PATCH 2/2] unix lab scripts
---
92_Dollydaga/The Bad Tutorials/10/chmod.sh | 14 +
92_Dollydaga/The Bad Tutorials/11/count.sh | 12 +
92_Dollydaga/The Bad Tutorials/11/test | 3 +
92_Dollydaga/The Bad Tutorials/12/animals | 4 +
92_Dollydaga/The Bad Tutorials/12/sort.sh | 11 +
92_Dollydaga/The Bad Tutorials/12/sports | 3 +
92_Dollydaga/The Bad Tutorials/13/cut.sh | 6 +
92_Dollydaga/The Bad Tutorials/13/players | 5 +
92_Dollydaga/The Bad Tutorials/14/convert.sh | 10 +
92_Dollydaga/The Bad Tutorials/14/out | 1 +
92_Dollydaga/The Bad Tutorials/14/output | 1 +
92_Dollydaga/The Bad Tutorials/14/text | 1 +
92_Dollydaga/The Bad Tutorials/15/reduce.sh | 6 +
92_Dollydaga/The Bad Tutorials/15/unix | 5 +
92_Dollydaga/The Bad Tutorials/18/read.sh | 3 +
92_Dollydaga/The Bad Tutorials/19/newname | 1 +
.../The Bad Tutorials/19/positionalpara.sh | 11 +
.../The Bad Tutorials/20/positionalpara2.sh | 11 +
92_Dollydaga/The Bad Tutorials/21/123.harshit | 3 +
.../The Bad Tutorials/21/accentgrave.sh | 9 +
92_Dollydaga/The Bad Tutorials/21/sample | 3 +
92_Dollydaga/The Bad Tutorials/22/count2.sh | 1 +
.../The Bad Tutorials/23/arithmatic.sh | 6 +
.../The Bad Tutorials/24/arithmatic.sh | 2 +
92_Dollydaga/The Bad Tutorials/25/realnum.sh | 7 +
92_Dollydaga/The Bad Tutorials/26/escape.sh | 6 +
92_Dollydaga/The Bad Tutorials/27/tput.sh | 12 +
92_Dollydaga/The Bad Tutorials/28/if-else.sh | 8 +
92_Dollydaga/The Bad Tutorials/3/calender.sh | 8 +
92_Dollydaga/The Bad Tutorials/30/check.sh | 11 +
.../The Bad Tutorials/31/file-test.sh | 18 +
92_Dollydaga/The Bad Tutorials/32/apend.sh | 12 +
92_Dollydaga/The Bad Tutorials/32/test | 2 +
.../The Bad Tutorials/33/string-test.sh | 15 +
92_Dollydaga/The Bad Tutorials/34/and.sh | 8 +
92_Dollydaga/The Bad Tutorials/35/count.sh | 8 +
92_Dollydaga/The Bad Tutorials/36/or.sh | 13 +
92_Dollydaga/The Bad Tutorials/37/case.sh | 19 +
92_Dollydaga/The Bad Tutorials/38/word.sh | 19 +
92_Dollydaga/The Bad Tutorials/39/while.sh | 6 +
92_Dollydaga/The Bad Tutorials/40/until.sh | 7 +
92_Dollydaga/The Bad Tutorials/40/until1.sh | 7 +
92_Dollydaga/The Bad Tutorials/41/for.sh | 7 +
92_Dollydaga/The Bad Tutorials/41/for1.sh | 7 +
92_Dollydaga/The Bad Tutorials/42/test.sh | 4 +
92_Dollydaga/The Bad Tutorials/42/test1.sh | 4 +
92_Dollydaga/The Bad Tutorials/43/grep.sh | 5 +
92_Dollydaga/The Bad Tutorials/43/test_file | 142 +++
92_Dollydaga/The Bad Tutorials/45/ifs.sh | 12 +
92_Dollydaga/The Bad Tutorials/45/ifs1.sh | 11 +
92_Dollydaga/The Bad Tutorials/45/isf.sh | 7 +
92_Dollydaga/The Bad Tutorials/46/pinfo.sh | 11 +
92_Dollydaga/The Bad Tutorials/47/read.sh | 20 +
92_Dollydaga/The Bad Tutorials/47/test | 6 +
92_Dollydaga/The Bad Tutorials/48/sleep.sh | 7 +
92_Dollydaga/The Bad Tutorials/49/count.sh | 21 +
92_Dollydaga/The Bad Tutorials/49/test | 6 +
92_Dollydaga/The Bad Tutorials/5/create.sh | 16 +
92_Dollydaga/The Bad Tutorials/50/cammandlist | 4 +
92_Dollydaga/The Bad Tutorials/50/help.sh | 4 +
92_Dollydaga/The Bad Tutorials/50/helpfile | 890 ++++++++++++++++++
92_Dollydaga/The Bad Tutorials/51/pattern.sh | 16 +
92_Dollydaga/The Bad Tutorials/52/break.sh | 12 +
92_Dollydaga/The Bad Tutorials/53/continue.sh | 12 +
92_Dollydaga/The Bad Tutorials/54/cammands.sh | 3 +
92_Dollydaga/The Bad Tutorials/54/pattern | 35 +
92_Dollydaga/The Bad Tutorials/54/test_file | 142 +++
92_Dollydaga/The Bad Tutorials/56/check.sh | 21 +
92_Dollydaga/The Bad Tutorials/56/null | 1 +
92_Dollydaga/The Bad Tutorials/57/check.sh | 30 +
92_Dollydaga/The Bad Tutorials/57/null | 1 +
92_Dollydaga/The Bad Tutorials/58/check.sh | 38 +
92_Dollydaga/The Bad Tutorials/6/rename.sh | 15 +
92_Dollydaga/The Bad Tutorials/60/fun.sh | 8 +
92_Dollydaga/The Bad Tutorials/61/script1.sh | 3 +
92_Dollydaga/The Bad Tutorials/61/script2.sh | 3 +
92_Dollydaga/The Bad Tutorials/61/script3.sh | 1 +
92_Dollydaga/The Bad Tutorials/7/copy.sh | 15 +
92_Dollydaga/The Bad Tutorials/9/ls.sh | 8 +
92_Dollydaga/The Bad Tutorials/9/test | 1 +
80 files changed, 1867 insertions(+)
create mode 100644 92_Dollydaga/The Bad Tutorials/10/chmod.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/11/count.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/11/test
create mode 100644 92_Dollydaga/The Bad Tutorials/12/animals
create mode 100644 92_Dollydaga/The Bad Tutorials/12/sort.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/12/sports
create mode 100644 92_Dollydaga/The Bad Tutorials/13/cut.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/13/players
create mode 100644 92_Dollydaga/The Bad Tutorials/14/convert.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/14/out
create mode 100644 92_Dollydaga/The Bad Tutorials/14/output
create mode 100644 92_Dollydaga/The Bad Tutorials/14/text
create mode 100644 92_Dollydaga/The Bad Tutorials/15/reduce.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/15/unix
create mode 100644 92_Dollydaga/The Bad Tutorials/18/read.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/19/newname
create mode 100644 92_Dollydaga/The Bad Tutorials/19/positionalpara.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/20/positionalpara2.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/21/123.harshit
create mode 100644 92_Dollydaga/The Bad Tutorials/21/accentgrave.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/21/sample
create mode 100644 92_Dollydaga/The Bad Tutorials/22/count2.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/23/arithmatic.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/24/arithmatic.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/25/realnum.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/26/escape.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/27/tput.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/28/if-else.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/3/calender.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/30/check.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/31/file-test.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/32/apend.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/32/test
create mode 100644 92_Dollydaga/The Bad Tutorials/33/string-test.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/34/and.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/35/count.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/36/or.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/37/case.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/38/word.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/39/while.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/40/until.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/40/until1.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/41/for.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/41/for1.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/42/test.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/42/test1.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/43/grep.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/43/test_file
create mode 100644 92_Dollydaga/The Bad Tutorials/45/ifs.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/45/ifs1.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/45/isf.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/46/pinfo.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/47/read.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/47/test
create mode 100644 92_Dollydaga/The Bad Tutorials/48/sleep.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/49/count.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/49/test
create mode 100644 92_Dollydaga/The Bad Tutorials/5/create.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/50/cammandlist
create mode 100644 92_Dollydaga/The Bad Tutorials/50/help.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/50/helpfile
create mode 100644 92_Dollydaga/The Bad Tutorials/51/pattern.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/52/break.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/53/continue.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/54/cammands.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/54/pattern
create mode 100644 92_Dollydaga/The Bad Tutorials/54/test_file
create mode 100644 92_Dollydaga/The Bad Tutorials/56/check.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/56/null
create mode 100644 92_Dollydaga/The Bad Tutorials/57/check.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/57/null
create mode 100644 92_Dollydaga/The Bad Tutorials/58/check.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/6/rename.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/60/fun.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/61/script1.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/61/script2.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/61/script3.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/7/copy.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/9/ls.sh
create mode 100644 92_Dollydaga/The Bad Tutorials/9/test
diff --git a/92_Dollydaga/The Bad Tutorials/10/chmod.sh b/92_Dollydaga/The Bad Tutorials/10/chmod.sh
new file mode 100644
index 0000000..ebcb924
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/10/chmod.sh
@@ -0,0 +1,14 @@
+echo "creating new file"
+touch test
+echo "permissions on test file are-"
+ls -l
+echo "changing permissions on test file"
+chmod 777 test
+ls -l
+
+echo "Information about the current machine is -"
+uname -a
+
+
+
+
diff --git a/92_Dollydaga/The Bad Tutorials/11/count.sh b/92_Dollydaga/The Bad Tutorials/11/count.sh
new file mode 100644
index 0000000..320a841
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/11/count.sh
@@ -0,0 +1,12 @@
+echo "creating a new file"
+echo "enter some lines in the file"
+cat > test
+echo "Details about file are-"
+wc test
+echo "The number of lines in test file are-"
+wc -l test
+echo "Number of words present in test file are-"
+wc -w test
+echo "All files present in the directory are-"
+file *
+
diff --git a/92_Dollydaga/The Bad Tutorials/11/test b/92_Dollydaga/The Bad Tutorials/11/test
new file mode 100644
index 0000000..f90a04f
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/11/test
@@ -0,0 +1,3 @@
+hello
+this is a test
+this is line 3
diff --git a/92_Dollydaga/The Bad Tutorials/12/animals b/92_Dollydaga/The Bad Tutorials/12/animals
new file mode 100644
index 0000000..5af3f71
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/12/animals
@@ -0,0 +1,4 @@
+horse
+monkey
+ant
+lion
diff --git a/92_Dollydaga/The Bad Tutorials/12/sort.sh b/92_Dollydaga/The Bad Tutorials/12/sort.sh
new file mode 100644
index 0000000..2ea155b
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/12/sort.sh
@@ -0,0 +1,11 @@
+echo "creating a new file animals"
+echo "enter some animal names"
+cat > animals
+echo "creating a new file sports"
+echo "enter some sports names"
+cat > sports
+echo " -sorting animal names in file"
+sort animals
+echo " -sorting sport names in file"
+sort sports
+
diff --git a/92_Dollydaga/The Bad Tutorials/12/sports b/92_Dollydaga/The Bad Tutorials/12/sports
new file mode 100644
index 0000000..1e3437f
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/12/sports
@@ -0,0 +1,3 @@
+hokey
+badminton
+cricket
diff --git a/92_Dollydaga/The Bad Tutorials/13/cut.sh b/92_Dollydaga/The Bad Tutorials/13/cut.sh
new file mode 100644
index 0000000..d6a5d38
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/13/cut.sh
@@ -0,0 +1,6 @@
+echo "creating a new file"
+echo "enter fields and info of sports players"
+cat > players
+echo "cutting name and age filed to be viewed"
+cut -d"-" -f 1,3 players
+
diff --git a/92_Dollydaga/The Bad Tutorials/13/players b/92_Dollydaga/The Bad Tutorials/13/players
new file mode 100644
index 0000000..669ad0c
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/13/players
@@ -0,0 +1,5 @@
+name-sports-age
+abc-ten-30
+qwe-ten-29
+qaz-ten-33
+ert-wdc-28
diff --git a/92_Dollydaga/The Bad Tutorials/14/convert.sh b/92_Dollydaga/The Bad Tutorials/14/convert.sh
new file mode 100644
index 0000000..32a533b
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/14/convert.sh
@@ -0,0 +1,10 @@
+echo "creating a text file"
+echo "Enter some content in file"
+cat > text
+echo "converting all lower case to upper case"
+dd if=text of=output conv=ucase
+cat output
+echo "converting text file to europian text file"
+dd if=text of=out conv=ebcdic
+cat out
+
diff --git a/92_Dollydaga/The Bad Tutorials/14/out b/92_Dollydaga/The Bad Tutorials/14/out
new file mode 100644
index 0000000..5654117
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/14/out
@@ -0,0 +1 @@
+%
\ No newline at end of file
diff --git a/92_Dollydaga/The Bad Tutorials/14/output b/92_Dollydaga/The Bad Tutorials/14/output
new file mode 100644
index 0000000..11bc524
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/14/output
@@ -0,0 +1 @@
+ABCEFGHIJKLMNOPQRSTUVWXYZ
diff --git a/92_Dollydaga/The Bad Tutorials/14/text b/92_Dollydaga/The Bad Tutorials/14/text
new file mode 100644
index 0000000..4371c69
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/14/text
@@ -0,0 +1 @@
+abcefghijklmnopqrstuvwxyz
diff --git a/92_Dollydaga/The Bad Tutorials/15/reduce.sh b/92_Dollydaga/The Bad Tutorials/15/reduce.sh
new file mode 100644
index 0000000..ff33f06
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/15/reduce.sh
@@ -0,0 +1,6 @@
+echo "Generating fancy text using banner command"
+banner "harshit"
+echo "compressing a text file"
+compress -v unix
+echo "uncompressing the text file"
+uncompress unix.Z
diff --git a/92_Dollydaga/The Bad Tutorials/15/unix b/92_Dollydaga/The Bad Tutorials/15/unix
new file mode 100644
index 0000000..0943184
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/15/unix
@@ -0,0 +1,5 @@
+Unix (/ˈjuːnɪks/; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, development starting in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.[3]
+
+Initially intended for use inside the Bell System, AT&T licensed Unix to outside parties in the late 1970s, leading to a variety of both academic and commercial Unix variants from vendors including University of California, Berkeley (BSD), Microsoft (Xenix), IBM (AIX), and Sun Microsystems (Solaris). In the early 1990s, AT&T sold its rights in Unix to Novell, which then sold its Unix business to the Santa Cruz Operation (SCO) in 1995.[4] The UNIX trademark passed to The Open Group, a neutral industry consortium, which allows the use of the mark for certified operating systems that comply with the Single UNIX Specification (SUS). As of 2014, the Unix version with the largest installed base is Apple's macOS.[citation needed]
+
+Unix systems are characterized by a modular design that is sometimes called the "Unix philosophy". This concept entails that the operating system provides a set of simple tools that each performs a limited, well-defined function,[5] with a unified filesystem (the Unix filesystem) as the main means of communication,[3] and a shell scripting and command language (the Unix shell) to combine the tools to perform complex workflows. Unix distinguishes itself from its predecessors as the first portable operating system: almost the entire operating system is written in the C programming language, thus allowing Unix to reach numerous platforms.[6]
diff --git a/92_Dollydaga/The Bad Tutorials/18/read.sh b/92_Dollydaga/The Bad Tutorials/18/read.sh
new file mode 100644
index 0000000..9b268aa
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/18/read.sh
@@ -0,0 +1,3 @@
+echo "Enter your name"
+read my_name
+echo "Hello $my_name"
diff --git a/92_Dollydaga/The Bad Tutorials/19/newname b/92_Dollydaga/The Bad Tutorials/19/newname
new file mode 100644
index 0000000..717d03b
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/19/newname
@@ -0,0 +1 @@
+hello asjdhj
diff --git a/92_Dollydaga/The Bad Tutorials/19/positionalpara.sh b/92_Dollydaga/The Bad Tutorials/19/positionalpara.sh
new file mode 100644
index 0000000..2b2d141
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/19/positionalpara.sh
@@ -0,0 +1,11 @@
+echo "Creating a file"
+echo "Enter some content to the file"
+cat > test
+ls
+echo "Provide a new name for file"
+read name
+mv test $name
+echo "File name has been changed"
+ls
+cat $name
+
diff --git a/92_Dollydaga/The Bad Tutorials/20/positionalpara2.sh b/92_Dollydaga/The Bad Tutorials/20/positionalpara2.sh
new file mode 100644
index 0000000..bca8810
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/20/positionalpara2.sh
@@ -0,0 +1,11 @@
+ls -l
+chmod 722 $1
+ls -l
+chmod 775 $1
+echo "using set command"
+set shell programming is cool
+echo $1
+echo $2
+echo $3
+echo $4
+echo $*
diff --git a/92_Dollydaga/The Bad Tutorials/21/123.harshit b/92_Dollydaga/The Bad Tutorials/21/123.harshit
new file mode 100644
index 0000000..d2fa9b8
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/21/123.harshit
@@ -0,0 +1,3 @@
+qweasdzxc
+asdasdffascd
+csacasfdaedsa
diff --git a/92_Dollydaga/The Bad Tutorials/21/accentgrave.sh b/92_Dollydaga/The Bad Tutorials/21/accentgrave.sh
new file mode 100644
index 0000000..6d37fed
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/21/accentgrave.sh
@@ -0,0 +1,9 @@
+ls
+echo "using accent grave to change file format"
+name=$1
+set `whoami`
+mv $name $name.$1
+ls
+echo "using accent grave to print file content"
+set `cat sample`
+echo $*
diff --git a/92_Dollydaga/The Bad Tutorials/21/sample b/92_Dollydaga/The Bad Tutorials/21/sample
new file mode 100644
index 0000000..6fc6779
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/21/sample
@@ -0,0 +1,3 @@
+123adsads
+qwxasxc
+ecascc
diff --git a/92_Dollydaga/The Bad Tutorials/22/count2.sh b/92_Dollydaga/The Bad Tutorials/22/count2.sh
new file mode 100644
index 0000000..49f58b9
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/22/count2.sh
@@ -0,0 +1 @@
+echo the total number items in the current directory is=$#
diff --git a/92_Dollydaga/The Bad Tutorials/23/arithmatic.sh b/92_Dollydaga/The Bad Tutorials/23/arithmatic.sh
new file mode 100644
index 0000000..4af3b77
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/23/arithmatic.sh
@@ -0,0 +1,6 @@
+a=30 b=15
+echo `expr $a + $b`
+echo `expr $a - $b`
+echo `expr $a \* $b`
+echo `expr $a / $b`
+echo `expr $a % $b`
diff --git a/92_Dollydaga/The Bad Tutorials/24/arithmatic.sh b/92_Dollydaga/The Bad Tutorials/24/arithmatic.sh
new file mode 100644
index 0000000..8797cdb
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/24/arithmatic.sh
@@ -0,0 +1,2 @@
+a=30 b=15 c=2 d=5
+echo `expr $a \* \( $b + $c \) / $d`
diff --git a/92_Dollydaga/The Bad Tutorials/25/realnum.sh b/92_Dollydaga/The Bad Tutorials/25/realnum.sh
new file mode 100644
index 0000000..5543d3a
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/25/realnum.sh
@@ -0,0 +1,7 @@
+a=10.5
+b=3.5
+c=`echo $a + $b | bc`
+d=`echo $a - $b | bc`
+e=`echo $a \* $b | bc`
+f=`echo $a / $b | bc`
+echo $c , $d , $e , $f
diff --git a/92_Dollydaga/The Bad Tutorials/26/escape.sh b/92_Dollydaga/The Bad Tutorials/26/escape.sh
new file mode 100644
index 0000000..d2631c3
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/26/escape.sh
@@ -0,0 +1,6 @@
+echo "Using escape sequences"
+echo "Hey World, \nWhats up ?"
+echo "Hey World, \rWhats up ?"
+echo "Hey World, \tWhats up ?"
+echo "Hey World, \b\b\b\b\b\b\bWhats up ?"
+echo "\033[1mHey World, \nWhats up?"
diff --git a/92_Dollydaga/The Bad Tutorials/27/tput.sh b/92_Dollydaga/The Bad Tutorials/27/tput.sh
new file mode 100644
index 0000000..d6efc01
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/27/tput.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+tput clear
+echo "Total number of rows on screen=\c"
+tput lines
+echo "Total number of columns on screen=\c"
+tput cols
+tput cup 5 20
+tput bold
+echo "this should be in bold"
+echo "\033[0mBYE BYE"
+
+
diff --git a/92_Dollydaga/The Bad Tutorials/28/if-else.sh b/92_Dollydaga/The Bad Tutorials/28/if-else.sh
new file mode 100644
index 0000000..e334034
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/28/if-else.sh
@@ -0,0 +1,8 @@
+echo "Enter source and target file name"
+read source target
+if mv $source $target
+then
+echo "Renamming was succesful"
+else
+echo "Renamming unsuccesful"
+fi
diff --git a/92_Dollydaga/The Bad Tutorials/3/calender.sh b/92_Dollydaga/The Bad Tutorials/3/calender.sh
new file mode 100644
index 0000000..d22dff7
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/3/calender.sh
@@ -0,0 +1,8 @@
+echo "Calender of current month"
+cal
+echo "Calender of july 2007"
+cal 7 2007
+echo "Date is-"
+date
+echo "date and time are-"
+date '+DATE:%m-%y%nTIME:%H:%M:%S'
diff --git a/92_Dollydaga/The Bad Tutorials/30/check.sh b/92_Dollydaga/The Bad Tutorials/30/check.sh
new file mode 100644
index 0000000..616358c
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/30/check.sh
@@ -0,0 +1,11 @@
+echo "Enter anumber between 10 and 20"
+read num
+if [ $num -lt 10 ]
+then
+ echo "That was below range"
+elif [ $num -gt 20 ]
+then
+ echo "That was above range"
+else
+ echo "Your number is $num"
+fi
diff --git a/92_Dollydaga/The Bad Tutorials/31/file-test.sh b/92_Dollydaga/The Bad Tutorials/31/file-test.sh
new file mode 100644
index 0000000..5a0c472
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/31/file-test.sh
@@ -0,0 +1,18 @@
+echo "Enter a name:\c"
+read fname
+if [ -f $fname ]
+then
+ echo "Yes it is a file"
+else
+ echo "It's not a file"
+fi
+
+echo "Enter a name:\c"
+read fname
+if [ -d $fname ]
+then
+ echo "Yes it is a directory"
+else
+ echo "It's not a directory"
+fi
+
diff --git a/92_Dollydaga/The Bad Tutorials/32/apend.sh b/92_Dollydaga/The Bad Tutorials/32/apend.sh
new file mode 100644
index 0000000..26b0a7a
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/32/apend.sh
@@ -0,0 +1,12 @@
+echo "Enter a name:\c"
+read fname
+if [ -f $fname ]
+then
+ if [ -w $fname ]
+ then
+ echo "Type matter to append. to quit type ctrl+d."
+ cat >> $fname
+ else
+ echo "you do not have permission to write."
+ fi
+fi
diff --git a/92_Dollydaga/The Bad Tutorials/32/test b/92_Dollydaga/The Bad Tutorials/32/test
new file mode 100644
index 0000000..99b708d
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/32/test
@@ -0,0 +1,2 @@
+hello , this is a test.
+how is it going
diff --git a/92_Dollydaga/The Bad Tutorials/33/string-test.sh b/92_Dollydaga/The Bad Tutorials/33/string-test.sh
new file mode 100644
index 0000000..fc334bc
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/33/string-test.sh
@@ -0,0 +1,15 @@
+str1="hey You!"
+str2="wHATS UP?"
+str3=""
+
+[ "$str1" = "$str2" ]
+echo $?
+
+[ "$str1" != "$str2" ]
+echo $?
+
+[ -n "$str1" ]
+echo $?
+
+[ -z "$str3" ]
+echo $?
diff --git a/92_Dollydaga/The Bad Tutorials/34/and.sh b/92_Dollydaga/The Bad Tutorials/34/and.sh
new file mode 100644
index 0000000..d4cff68
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/34/and.sh
@@ -0,0 +1,8 @@
+echo "Enter a number between 50 and 100:\c"
+read num
+if [ $num -le 100 -a $num -ge 50 ]
+then
+ echo "You are within limits."
+else
+ echo "You are out of limits."
+fi
diff --git a/92_Dollydaga/The Bad Tutorials/35/count.sh b/92_Dollydaga/The Bad Tutorials/35/count.sh
new file mode 100644
index 0000000..ebc4709
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/35/count.sh
@@ -0,0 +1,8 @@
+echo "Enter a character:\c"
+read var
+if [ `echo $var | wc -c` -eq 2 ]
+then
+ echo "You entered a character."
+else
+ echo "Invalid input."
+fi
diff --git a/92_Dollydaga/The Bad Tutorials/36/or.sh b/92_Dollydaga/The Bad Tutorials/36/or.sh
new file mode 100644
index 0000000..cf37a41
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/36/or.sh
@@ -0,0 +1,13 @@
+echo "Enter a character:\c"
+read var
+if [ `echo $var | wc -c` -eq 2 ]
+then
+ if [ $var = a -o $var = e -o $var = i -o $var = o -o $var = u ]
+ then
+ echo "you entered a vovel"
+ else
+ echo "Youd didnt entered a vovel"
+ fi
+else
+ echo "Invalid input."
+fi
diff --git a/92_Dollydaga/The Bad Tutorials/37/case.sh b/92_Dollydaga/The Bad Tutorials/37/case.sh
new file mode 100644
index 0000000..75dd008
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/37/case.sh
@@ -0,0 +1,19 @@
+echo "Enter a character:\c"
+read var
+case $var in
+[a-z])
+ echo "You entered a lowe case alphabet."
+ ;;
+[A-Z])
+ echo "You entered a upper case alphabet."
+ ;;
+[0-9])
+ echo "You entered a digit."
+ ;;
+?)
+ echo "You entered a special symbol."
+ ;;
+*)
+ echo "You entered more than one character."
+ ;;
+esac
diff --git a/92_Dollydaga/The Bad Tutorials/38/word.sh b/92_Dollydaga/The Bad Tutorials/38/word.sh
new file mode 100644
index 0000000..e4a3a63
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/38/word.sh
@@ -0,0 +1,19 @@
+echo "Enter a word:\c"
+read word
+case $word in
+[aeiou]* | [AEIOU]*)
+ echo "The word begins with a vovel."
+ ;;
+[0-9]*)
+ echo "The word begins with a digit."
+ ;;
+*[0-9])
+ echo "The word ends with a digit."
+ ;;
+???)
+ echo "you entered a 3 letter word."
+ ;;
+*)
+ echo "I dont know what you enetred."
+ ;;
+esac
diff --git a/92_Dollydaga/The Bad Tutorials/39/while.sh b/92_Dollydaga/The Bad Tutorials/39/while.sh
new file mode 100644
index 0000000..509527b
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/39/while.sh
@@ -0,0 +1,6 @@
+count=1
+while [ $count -le 10 ]
+do
+ echo $count
+ count=`expr $count + 1`
+done
diff --git a/92_Dollydaga/The Bad Tutorials/40/until.sh b/92_Dollydaga/The Bad Tutorials/40/until.sh
new file mode 100644
index 0000000..91a9814
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/40/until.sh
@@ -0,0 +1,7 @@
+#until loop in action
+count=1
+until [ $count -ge 10 ]
+do
+ echo $count
+ count=`expr $count + 1`
+done
diff --git a/92_Dollydaga/The Bad Tutorials/40/until1.sh b/92_Dollydaga/The Bad Tutorials/40/until1.sh
new file mode 100644
index 0000000..c04c634
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/40/until1.sh
@@ -0,0 +1,7 @@
+#until loop in action
+count=1
+until [ $count -gt 10 ]
+do
+ echo $count
+ count=`expr $count + 1`
+done
diff --git a/92_Dollydaga/The Bad Tutorials/41/for.sh b/92_Dollydaga/The Bad Tutorials/41/for.sh
new file mode 100644
index 0000000..9c91356
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/41/for.sh
@@ -0,0 +1,7 @@
+for item in *
+do
+ if [ -d $item ]
+ then
+ echo $item
+ fi
+done
diff --git a/92_Dollydaga/The Bad Tutorials/41/for1.sh b/92_Dollydaga/The Bad Tutorials/41/for1.sh
new file mode 100644
index 0000000..ef21620
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/41/for1.sh
@@ -0,0 +1,7 @@
+for item in *
+do
+ if [ -f $item ]
+ then
+ echo $item
+ fi
+done
diff --git a/92_Dollydaga/The Bad Tutorials/42/test.sh b/92_Dollydaga/The Bad Tutorials/42/test.sh
new file mode 100644
index 0000000..1ed48ac
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/42/test.sh
@@ -0,0 +1,4 @@
+a=4.5
+b=4.5
+[ "$a" = "$b" ]
+echo $?
diff --git a/92_Dollydaga/The Bad Tutorials/42/test1.sh b/92_Dollydaga/The Bad Tutorials/42/test1.sh
new file mode 100644
index 0000000..4eb581c
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/42/test1.sh
@@ -0,0 +1,4 @@
+a=4.5
+b=4.5
+[ $a -eq $b ]
+echo $?
diff --git a/92_Dollydaga/The Bad Tutorials/43/grep.sh b/92_Dollydaga/The Bad Tutorials/43/grep.sh
new file mode 100644
index 0000000..f2436ab
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/43/grep.sh
@@ -0,0 +1,5 @@
+grep -i you test_file
+grep -i -n you test_file
+grep -i -n -c you test_file
+grep -i -n -c -v you test_file
+grep -i -v you test_file
diff --git a/92_Dollydaga/The Bad Tutorials/43/test_file b/92_Dollydaga/The Bad Tutorials/43/test_file
new file mode 100644
index 0000000..7b13c95
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/43/test_file
@@ -0,0 +1,142 @@
+Lately I've been hard to reach, I've been too long on my own
+Everybody has a private world where they can be alone
+Are you calling me? Are you trying to get through?
+Are you reaching out for me, like I'm reaching out for you?
+
+I'm just so fuckin' depressed, I just can't seem to get out this slump
+If I could just get over this hump
+But I need something to pull me out this dump,
+I took my bruises, took my lumps
+Fell down and I got right back up
+But I need that spark to get psyched back up
+In order for me to pick the mic back up
+I don't know how or why or when I ended up in this position I'm in
+I'm starting to feel distant again
+So I decided just to pick this pen
+Up and try to make an attempt to vent
+But I just can't admit
+Or come to grips with the fact that I may be done with rap
+I need a new outlet, and I know some shit's so hard to swallow
+But I just can't sit back and wallow
+In my own sorrow
+But I know one fact I'll be one tough act to follow
+One tough act to follow
+I'll be one tough act to follow
+Here today, gone tomorrow
+But you'd have to walk a thousand miles
+
+In my shoes, just to see
+What it's like, to be me
+I'll be you, let's trade shoes
+Just to see what it'd be like to
+Feel your pain, you feel mine
+Go inside each other's minds
+Just to see what we find
+Look at shit through each other's eyes
+But don't let 'em say you ain't beautiful, oh
+They can all get fucked.
+Just stay true to you
+So don't let 'em say you ain't beautiful
+Oh, they can all get fucked.
+Just stay true to you, yeah, so...
+
+I think I'm starting to lose my sense of humor
+Everything is so tense and gloom
+I almost feel like I gotta check the temperature in the room
+Just as soon as I walk in
+It's like all eyes on me
+So I try to avoid any eye contact
+'Cause if I do that then it opens the door for conversation
+Like I want that... I'm not looking for extra attention
+I just want to be just like you
+Blend in with the rest of the room
+Maybe just point me to the closest restroom
+I don't need no fucking man servant
+Trying to follow me around and wipe my ass
+Laugh at every single joke I crack
+And half of them ain't even funny like
+"Ha!, Marshall you're so funny man, you should be a comedian, God damn"
+Unfortunately I am, but I just hide behind the tears of a clown
+So why don't you all sit down?
+Listen to the tale I'm about to tell
+Hell, we don't gotta trade our shoes
+And you ain't gotta walk no thousand miles
+
+In my shoes, just to see
+What it's like, to be me
+I'll be you, let's trade shoes
+Just to see what it'd be like to
+Feel your pain, you feel mine
+Go inside each other's minds
+Just to see what we find
+Look at shit through each other's eyes
+But don't let 'em say you ain't beautiful
+Oh they can all get fucked.
+Just stay true to you so
+Don't let 'em say you ain't beautiful
+Oh they can all get fucked.
+Just stay true to you so
+
+Nobody asked for life to deal us
+With these bullshit hands we're dealt
+We gotta take these cards ourselves
+And flip them, don't expect no help
+Now I could have either just
+Sat on my ass and pissed and moaned
+Or take this situation in which I'm placed in
+And get up and get my own
+I was never the type of kid
+To wait by the door and pack his bags
+Who sat on the porch and hoped and prayed
+For a dad to show up who never did
+I just wanted to fit in
+In every single place
+Every school I went
+I dreamed of being that cool kid
+Even if it meant acting stupid
+
+Aunt Edna always told me "Keep makin' that face it'll get stuck like that"
+Meanwhile I'm just standin' there
+Holdin' my tongue tryna talk like this
+'Til I stuck my tongue on that frozen stop sign pole at 8 years old
+I learned my lesson then cause I wasn't tryna impress my friends no more
+But I already told you my whole life story
+Not just based on my description
+'Cause where you see it from where you're sitting
+It's probably 110% different
+I guess we would have to walk a mile
+In each other's shoes, at least
+What size you wear? I wear tens
+Let's see if you can fit your feet
+
+In my shoes, just to see
+What it's like, to be me
+I'll be you, let's trade shoes
+Just to see what it'd be like to
+Feel your pain, you feel mine
+Go inside each other's minds
+Just to see what we find
+Look at shit through each other's eyes
+But don't let 'em say you ain't beautiful, oh
+They can all get fucked.
+Just stay true to you
+So don't let 'em say you ain't beautiful
+Oh, they can all get fucked.
+Just stay true to you, yeah, so...
+
+[Sample - Rock Therapy "Reaching Out":]
+Lately I've been hard to reach, I've been too long on my own
+Everybody has a private world where they can be alone...
+So are you calling me, are you trying to get through, oh?
+Are you reaching out for me, like I'm reaching out for you?
+So oh oh
+
+[Eminem:]
+Yeah... To my babies. Stay strong.
+Daddy will be home soon
+And to the rest of the world, God gave you them shoes
+To fit you, so put 'em on and wear 'em
+Be yourself, man, be proud of who you are
+Even if it sounds corny,
+Don't ever let no one tell you, you ain't beautiful
+So...
diff --git a/92_Dollydaga/The Bad Tutorials/45/ifs.sh b/92_Dollydaga/The Bad Tutorials/45/ifs.sh
new file mode 100644
index 0000000..a8a59ba
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/45/ifs.sh
@@ -0,0 +1,12 @@
+line="shell scripting is fun:hello this :is:a test"
+IFS=:
+set $line
+echo $1
+echo $2
+echo $3
+echo $4
+echo $5
+echo $6
+echo $7
+echo $8
+echo $9
diff --git a/92_Dollydaga/The Bad Tutorials/45/ifs1.sh b/92_Dollydaga/The Bad Tutorials/45/ifs1.sh
new file mode 100644
index 0000000..7b56138
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/45/ifs1.sh
@@ -0,0 +1,11 @@
+line="shell scripting is fun hello this is a test"
+set $line
+echo $1
+echo $2
+echo $3
+echo $4
+echo $5
+echo $6
+echo $7
+echo $8
+echo $9
diff --git a/92_Dollydaga/The Bad Tutorials/45/isf.sh b/92_Dollydaga/The Bad Tutorials/45/isf.sh
new file mode 100644
index 0000000..025c894
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/45/isf.sh
@@ -0,0 +1,7 @@
+line="shell scripting is:fun"
+IFS=:
+set $line
+echo $1
+echo $2
+echo $3
+echo $4
diff --git a/92_Dollydaga/The Bad Tutorials/46/pinfo.sh b/92_Dollydaga/The Bad Tutorials/46/pinfo.sh
new file mode 100644
index 0000000..147f49c
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/46/pinfo.sh
@@ -0,0 +1,11 @@
+echo "enter user name:\c"
+read logname
+line=`grep $logname /etc/passwd`
+IFS=:
+set $line
+echo "username:$1"
+echo "userid:$3"
+echo "Group id:$4"
+echo "comment filed:$5"
+echo "home folder:$6"
+echo "Default shell:$7"
diff --git a/92_Dollydaga/The Bad Tutorials/47/read.sh b/92_Dollydaga/The Bad Tutorials/47/read.sh
new file mode 100644
index 0000000..7d1d753
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/47/read.sh
@@ -0,0 +1,20 @@
+echo "Enter a file name:\c"
+read fname
+if [ -z "$fname" ]
+then
+ exit
+fi
+
+terminal=`tty`
+
+exec < $fname
+
+count=1
+
+while read line
+do
+ echo $count.$line
+ count=`expr $count + 1`
+done
+
+exec < $terminal
diff --git a/92_Dollydaga/The Bad Tutorials/47/test b/92_Dollydaga/The Bad Tutorials/47/test
new file mode 100644
index 0000000..0773d33
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/47/test
@@ -0,0 +1,6 @@
+this is a test
+this is next line
+it is achived by pressing enter
+and now i am just typing random shit
+please dont mind me
+and cary on with your work
diff --git a/92_Dollydaga/The Bad Tutorials/48/sleep.sh b/92_Dollydaga/The Bad Tutorials/48/sleep.sh
new file mode 100644
index 0000000..73f80e6
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/48/sleep.sh
@@ -0,0 +1,7 @@
+echo "Enter a sentence:\c"
+read str
+for word in $str
+do
+ echo $word
+ sleep 2
+done
diff --git a/92_Dollydaga/The Bad Tutorials/49/count.sh b/92_Dollydaga/The Bad Tutorials/49/count.sh
new file mode 100644
index 0000000..f2b4749
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/49/count.sh
@@ -0,0 +1,21 @@
+echo "ENter a file name:\c"
+read fname
+
+terminal=`tty`
+
+exec < $fname
+
+nol=0
+now=0
+
+while read line
+do
+ nol=`expr $nol + 1`
+ set $line
+ now=`expr $now + $#`
+done
+
+echo "No of lines:$nol"
+echo "No of words:$now"
+
+exec < $terminal
diff --git a/92_Dollydaga/The Bad Tutorials/49/test b/92_Dollydaga/The Bad Tutorials/49/test
new file mode 100644
index 0000000..0773d33
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/49/test
@@ -0,0 +1,6 @@
+this is a test
+this is next line
+it is achived by pressing enter
+and now i am just typing random shit
+please dont mind me
+and cary on with your work
diff --git a/92_Dollydaga/The Bad Tutorials/5/create.sh b/92_Dollydaga/The Bad Tutorials/5/create.sh
new file mode 100644
index 0000000..76cf482
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/5/create.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+echo "creating files"
+touch test1 test2 test3
+echo "creating directory"
+mkdir test
+echo "files and directory are created-"
+ls
+echo "Changing directory"
+cd ~
+echo "creating directory in documents"
+mkdir Documents/test_folder
+cd Documents
+ls
+
+
+
diff --git a/92_Dollydaga/The Bad Tutorials/50/cammandlist b/92_Dollydaga/The Bad Tutorials/50/cammandlist
new file mode 100644
index 0000000..abace2d
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/50/cammandlist
@@ -0,0 +1,4 @@
+cat
+date
+cal
+touch
diff --git a/92_Dollydaga/The Bad Tutorials/50/help.sh b/92_Dollydaga/The Bad Tutorials/50/help.sh
new file mode 100644
index 0000000..8408204
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/50/help.sh
@@ -0,0 +1,4 @@
+for cmd in `cat cammandlist`
+do
+ man $cmd >> helpfile
+done
diff --git a/92_Dollydaga/The Bad Tutorials/50/helpfile b/92_Dollydaga/The Bad Tutorials/50/helpfile
new file mode 100644
index 0000000..c008e7c
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/50/helpfile
@@ -0,0 +1,890 @@
+CAT(1) User Commands CAT(1)
+
+NAME
+ cat - concatenate files and print on the standard output
+
+SYNOPSIS
+ cat [OPTION]... [FILE]...
+
+DESCRIPTION
+ Concatenate FILE(s) to standard output.
+
+ With no FILE, or when FILE is -, read standard input.
+
+ -A, --show-all
+ equivalent to -vET
+
+ -b, --number-nonblank
+ number nonempty output lines, overrides -n
+
+ -e equivalent to -vE
+
+ -E, --show-ends
+ display $ at end of each line
+
+ -n, --number
+ number all output lines
+
+ -s, --squeeze-blank
+ suppress repeated empty output lines
+
+ -t equivalent to -vT
+
+ -T, --show-tabs
+ display TAB characters as ^I
+
+ -u (ignored)
+
+ -v, --show-nonprinting
+ use ^ and M- notation, except for LFD and TAB
+
+ --help display this help and exit
+
+ --version
+ output version information and exit
+
+EXAMPLES
+ cat f - g
+ Output f's contents, then standard input, then g's contents.
+
+ cat Copy standard input to standard output.
+
+AUTHOR
+ Written by Torbjorn Granlund and Richard M. Stallman.
+
+REPORTING BUGS
+ GNU coreutils online help:
+ Report cat translation bugs to
+
+COPYRIGHT
+ Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
+ .
+ This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
+
+SEE ALSO
+ tac(1)
+
+ Full documentation at:
+ or available locally via: info '(coreutils) cat invocation'
+
+GNU coreutils 8.28 January 2018 CAT(1)
+DATE(1) User Commands DATE(1)
+
+NAME
+ date - print or set the system date and time
+
+SYNOPSIS
+ date [OPTION]... [+FORMAT]
+ date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
+
+DESCRIPTION
+ Display the current time in the given FORMAT, or set the system date.
+
+ Mandatory arguments to long options are mandatory for short options too.
+
+ -d, --date=STRING
+ display time described by STRING, not 'now'
+
+ --debug
+ annotate the parsed date, and warn about questionable usage to stderr
+
+ -f, --file=DATEFILE
+ like --date; once for each line of DATEFILE
+
+ -I[FMT], --iso-8601[=FMT]
+ output date/time in ISO 8601 format. FMT='date' for date only (the default), 'hours', 'minutes', 'seconds', or
+ 'ns' for date and time to the indicated precision. Example: 2006-08-14T02:34:56-06:00
+
+ -R, --rfc-email
+ output date and time in RFC 5322 format. Example: Mon, 14 Aug 2006 02:34:56 -0600
+
+ --rfc-3339=FMT
+ output date/time in RFC 3339 format. FMT='date', 'seconds', or 'ns' for date and time to the indicated precision.
+ Example: 2006-08-14 02:34:56-06:00
+
+ -r, --reference=FILE
+ display the last modification time of FILE
+
+ -s, --set=STRING
+ set time described by STRING
+
+ -u, --utc, --universal
+ print or set Coordinated Universal Time (UTC)
+
+ --help display this help and exit
+
+ --version
+ output version information and exit
+
+ FORMAT controls the output. Interpreted sequences are:
+
+ %% a literal %
+
+ %a locale's abbreviated weekday name (e.g., Sun)
+
+ %A locale's full weekday name (e.g., Sunday)
+
+ %b locale's abbreviated month name (e.g., Jan)
+
+ %B locale's full month name (e.g., January)
+
+ %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)
+
+ %C century; like %Y, except omit last two digits (e.g., 20)
+
+ %d day of month (e.g., 01)
+
+ %D date; same as %m/%d/%y
+
+ %e day of month, space padded; same as %_d
+
+ %F full date; same as %Y-%m-%d
+
+ %g last two digits of year of ISO week number (see %G)
+
+ %G year of ISO week number (see %V); normally useful only with %V
+
+ %h same as %b
+
+ %H hour (00..23)
+
+ %I hour (01..12)
+
+ %j day of year (001..366)
+
+ %k hour, space padded ( 0..23); same as %_H
+
+ %l hour, space padded ( 1..12); same as %_I
+
+ %m month (01..12)
+
+ %M minute (00..59)
+
+ %n a newline
+
+ %N nanoseconds (000000000..999999999)
+
+ %p locale's equivalent of either AM or PM; blank if not known
+
+ %P like %p, but lower case
+
+ %q quarter of year (1..4)
+
+ %r locale's 12-hour clock time (e.g., 11:11:04 PM)
+
+ %R 24-hour hour and minute; same as %H:%M
+
+ %s seconds since 1970-01-01 00:00:00 UTC
+
+ %S second (00..60)
+
+ %t a tab
+
+ %T time; same as %H:%M:%S
+
+ %u day of week (1..7); 1 is Monday
+
+ %U week number of year, with Sunday as first day of week (00..53)
+
+ %V ISO week number, with Monday as first day of week (01..53)
+
+ %w day of week (0..6); 0 is Sunday
+
+ %W week number of year, with Monday as first day of week (00..53)
+
+ %x locale's date representation (e.g., 12/31/99)
+
+ %X locale's time representation (e.g., 23:13:48)
+
+ %y last two digits of year (00..99)
+
+ %Y year
+
+ %z +hhmm numeric time zone (e.g., -0400)
+
+ %:z +hh:mm numeric time zone (e.g., -04:00)
+
+ %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)
+
+ %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30)
+
+ %Z alphabetic time zone abbreviation (e.g., EDT)
+
+ By default, date pads numeric fields with zeroes. The following optional flags may follow '%':
+
+ - (hyphen) do not pad the field
+
+ _ (underscore) pad with spaces
+
+ 0 (zero) pad with zeros
+
+ ^ use upper case if possible
+
+ # use opposite case if possible
+
+ After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use
+ the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available.
+
+EXAMPLES
+ Convert seconds since the epoch (1970-01-01 UTC) to a date
+
+ $ date --date='@2147483647'
+
+ Show the time on the west coast of the US (use tzselect(1) to find TZ)
+
+ $ TZ='America/Los_Angeles' date
+
+ Show the local time for 9AM next Friday on the west coast of the US
+
+ $ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
+
+DATE STRING
+ The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or
+ "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day,
+ time zone, day of week, relative time, relative date, and numbers. An empty string indicates the beginning of the day.
+ The date string format is more complex than is easily documented here but is fully described in the info documentation.
+
+AUTHOR
+ Written by David MacKenzie.
+
+REPORTING BUGS
+ GNU coreutils online help:
+ Report date translation bugs to
+
+COPYRIGHT
+ Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
+ .
+ This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
+
+SEE ALSO
+ Full documentation at:
+ or available locally via: info '(coreutils) date invocation'
+
+GNU coreutils 8.28 January 2018 DATE(1)
+CAL(1) BSD General Commands Manual CAL(1)
+
+NAME
+ cal, ncal — displays a calendar and the date of Easter
+
+SYNOPSIS
+ cal [-31jy] [-A number] [-B number] [-d yyyy-mm] [[month] year]
+ cal [-31j] [-A number] [-B number] [-d yyyy-mm] -m month [year]
+ ncal [-C] [-31jy] [-A number] [-B number] [-d yyyy-mm] [[month] year]
+ ncal [-C] [-31j] [-A number] [-B number] [-d yyyy-mm] -m month [year]
+ ncal [-31bhjJpwySM] [-A number] [-B number] [-H yyyy-mm-dd] [-d yyyy-mm] [-s country_code] [[month] year]
+ ncal [-31bhJeoSM] [-A number] [-B number] [-d yyyy-mm] [year]
+
+DESCRIPTION
+ The cal utility displays a simple calendar in traditional format and ncal offers an alternative layout, more options and the
+ date of Easter. The new format is a little cramped but it makes a year fit on a 25x80 terminal. If arguments are not spec‐
+ ified, the current month is displayed.
+
+ The options are as follows:
+
+ -h Turns off highlighting of today.
+
+ -J Display Julian Calendar, if combined with the -o option, display date of Orthodox Easter according to the Julian
+ Calendar.
+
+ -e Display date of Easter (for western churches).
+
+ -j Display Julian days (days one-based, numbered from January 1).
+
+ -m month
+ Display the specified month. If month is specified as a decimal number, appending ‘f’ or ‘p’ displays the same
+ month of the following or previous year respectively.
+
+ -o Display date of Orthodox Easter (Greek and Russian Orthodox Churches).
+
+ -p Print the country codes and switching days from Julian to Gregorian Calendar as they are assumed by ncal. The coun‐
+ try code as determined from the local environment is marked with an asterisk.
+
+ -s country_code
+ Assume the switch from Julian to Gregorian Calendar at the date associated with the country_code. If not specified,
+ ncal tries to guess the switch date from the local environment or falls back to September 2, 1752. This was when
+ Great Britain and her colonies switched to the Gregorian Calendar.
+
+ -w Print the number of the week below each week column.
+
+ -y Display a calendar for the specified year. This option is implied when a year but no month are specified on the com‐
+ mand line.
+
+ -3 Display the previous, current and next month surrounding today.
+
+ -1 Display only the current month. This is the default.
+
+ -A number
+ Months to add after. The specified number of months is added to the end of the display. This is in addition to any
+ date range selected by the -y, -3, or -1 options. For example, “cal -y -B2 -A2” shows everything from November of
+ the previous year to February of the following year. Negative numbers are allowed, in which case the specified num‐
+ ber of months is subtracted. For example, “cal -y -B-6” shows July to December. And “cal -A11” simply shows the next
+ 12 months.
+
+ -B number
+ Months to add before. The specified number of months is added to the beginning of the display. See -A for examples.
+
+ -C Completely switch to cal mode. For cal like output only, use -b instead.
+
+ -N Switch to ncal mode.
+
+ -d yyyy-mm
+ Use yyyy-mm as the current date (for debugging of date selection).
+
+ -H yyyy-mm-dd
+ Use yyyy-mm-dd as the current date (for debugging of highlighting).
+
+ -M Weeks start on Monday.
+
+ -S Weeks start on Sunday.
+
+ -b Use oldstyle format for ncal output.
+
+ A single parameter specifies the year (1–9999) to be displayed; note the year must be fully specified: “cal 89” will not
+ display a calendar for 1989. Two parameters denote the month and year; the month is either a number between 1 and 12, or a
+ full or abbreviated name as specified by the current locale. Month and year default to those of the current system clock
+ and time zone (so “cal -m 8” will display a calendar for the month of August in the current year).
+
+ Not all options can be used together. For example, the options -y, -3, and -1 are mutually exclusive. If inconsistent
+ options are given, the later ones take precedence over the earlier ones.
+
+ A year starts on January 1.
+
+ Highlighting of dates is disabled if stdout is not a tty.
+
+SEE ALSO
+ calendar(3), strftime(3)
+
+HISTORY
+ A cal command appeared in Version 5 AT&T UNIX. The ncal command appeared in FreeBSD 2.2.6. The output of the cal command
+ is supposed to be bit for bit compatible to the original Unix cal command, because its output is processed by other programs
+ like CGI scripts, that should not be broken. Therefore it will always output 8 lines, even if only 7 contain data. This
+ extra blank line also appears with the original cal command, at least on Solaris 8
+
+AUTHORS
+ The ncal command and manual were written by Wolfgang Helbig .
+
+BUGS
+ The assignment of Julian–Gregorian switching dates to country codes is historically naive for many countries.
+
+ Not all options are compatible and using them in different orders will give varying results.
+
+BSD March 14, 2009 BSD
+TOUCH(1) User Commands TOUCH(1)
+
+NAME
+ touch - change file timestamps
+
+SYNOPSIS
+ touch [OPTION]... FILE...
+
+DESCRIPTION
+ Update the access and modification times of each FILE to the current time.
+
+ A FILE argument that does not exist is created empty, unless -c or -h is supplied.
+
+ A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard
+ output.
+
+ Mandatory arguments to long options are mandatory for short options too.
+
+ -a change only the access time
+
+ -c, --no-create
+ do not create any files
+
+ -d, --date=STRING
+ parse STRING and use it instead of current time
+
+ -f (ignored)
+
+ -h, --no-dereference
+ affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of
+ a symlink)
+
+ -m change only the modification time
+
+ -r, --reference=FILE
+ use this file's times instead of current time
+
+ -t STAMP
+ use [[CC]YY]MMDDhhmm[.ss] instead of current time
+
+ --time=WORD
+ change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to
+ -m
+
+ --help display this help and exit
+
+ --version
+ output version information and exit
+
+ Note that the -d and -t options accept different time-date formats.
+
+DATE STRING
+ The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or
+ "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day,
+ time zone, day of week, relative time, relative date, and numbers. An empty string indicates the beginning of the day.
+ The date string format is more complex than is easily documented here but is fully described in the info documentation.
+
+AUTHOR
+ Written by Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith.
+
+REPORTING BUGS
+ GNU coreutils online help:
+ Report touch translation bugs to
+
+COPYRIGHT
+ Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
+ .
+ This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
+
+SEE ALSO
+ Full documentation at:
+ or available locally via: info '(coreutils) touch invocation'
+
+GNU coreutils 8.28 January 2018 TOUCH(1)
+CAT(1) User Commands CAT(1)
+
+NAME
+ cat - concatenate files and print on the standard output
+
+SYNOPSIS
+ cat [OPTION]... [FILE]...
+
+DESCRIPTION
+ Concatenate FILE(s) to standard output.
+
+ With no FILE, or when FILE is -, read standard input.
+
+ -A, --show-all
+ equivalent to -vET
+
+ -b, --number-nonblank
+ number nonempty output lines, overrides -n
+
+ -e equivalent to -vE
+
+ -E, --show-ends
+ display $ at end of each line
+
+ -n, --number
+ number all output lines
+
+ -s, --squeeze-blank
+ suppress repeated empty output lines
+
+ -t equivalent to -vT
+
+ -T, --show-tabs
+ display TAB characters as ^I
+
+ -u (ignored)
+
+ -v, --show-nonprinting
+ use ^ and M- notation, except for LFD and TAB
+
+ --help display this help and exit
+
+ --version
+ output version information and exit
+
+EXAMPLES
+ cat f - g
+ Output f's contents, then standard input, then g's contents.
+
+ cat Copy standard input to standard output.
+
+AUTHOR
+ Written by Torbjorn Granlund and Richard M. Stallman.
+
+REPORTING BUGS
+ GNU coreutils online help:
+ Report cat translation bugs to
+
+COPYRIGHT
+ Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
+ .
+ This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
+
+SEE ALSO
+ tac(1)
+
+ Full documentation at:
+ or available locally via: info '(coreutils) cat invocation'
+
+GNU coreutils 8.28 January 2018 CAT(1)
+DATE(1) User Commands DATE(1)
+
+NAME
+ date - print or set the system date and time
+
+SYNOPSIS
+ date [OPTION]... [+FORMAT]
+ date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
+
+DESCRIPTION
+ Display the current time in the given FORMAT, or set the system date.
+
+ Mandatory arguments to long options are mandatory for short options too.
+
+ -d, --date=STRING
+ display time described by STRING, not 'now'
+
+ --debug
+ annotate the parsed date, and warn about questionable usage to stderr
+
+ -f, --file=DATEFILE
+ like --date; once for each line of DATEFILE
+
+ -I[FMT], --iso-8601[=FMT]
+ output date/time in ISO 8601 format. FMT='date' for date only (the default), 'hours', 'minutes', 'seconds', or
+ 'ns' for date and time to the indicated precision. Example: 2006-08-14T02:34:56-06:00
+
+ -R, --rfc-email
+ output date and time in RFC 5322 format. Example: Mon, 14 Aug 2006 02:34:56 -0600
+
+ --rfc-3339=FMT
+ output date/time in RFC 3339 format. FMT='date', 'seconds', or 'ns' for date and time to the indicated precision.
+ Example: 2006-08-14 02:34:56-06:00
+
+ -r, --reference=FILE
+ display the last modification time of FILE
+
+ -s, --set=STRING
+ set time described by STRING
+
+ -u, --utc, --universal
+ print or set Coordinated Universal Time (UTC)
+
+ --help display this help and exit
+
+ --version
+ output version information and exit
+
+ FORMAT controls the output. Interpreted sequences are:
+
+ %% a literal %
+
+ %a locale's abbreviated weekday name (e.g., Sun)
+
+ %A locale's full weekday name (e.g., Sunday)
+
+ %b locale's abbreviated month name (e.g., Jan)
+
+ %B locale's full month name (e.g., January)
+
+ %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)
+
+ %C century; like %Y, except omit last two digits (e.g., 20)
+
+ %d day of month (e.g., 01)
+
+ %D date; same as %m/%d/%y
+
+ %e day of month, space padded; same as %_d
+
+ %F full date; same as %Y-%m-%d
+
+ %g last two digits of year of ISO week number (see %G)
+
+ %G year of ISO week number (see %V); normally useful only with %V
+
+ %h same as %b
+
+ %H hour (00..23)
+
+ %I hour (01..12)
+
+ %j day of year (001..366)
+
+ %k hour, space padded ( 0..23); same as %_H
+
+ %l hour, space padded ( 1..12); same as %_I
+
+ %m month (01..12)
+
+ %M minute (00..59)
+
+ %n a newline
+
+ %N nanoseconds (000000000..999999999)
+
+ %p locale's equivalent of either AM or PM; blank if not known
+
+ %P like %p, but lower case
+
+ %q quarter of year (1..4)
+
+ %r locale's 12-hour clock time (e.g., 11:11:04 PM)
+
+ %R 24-hour hour and minute; same as %H:%M
+
+ %s seconds since 1970-01-01 00:00:00 UTC
+
+ %S second (00..60)
+
+ %t a tab
+
+ %T time; same as %H:%M:%S
+
+ %u day of week (1..7); 1 is Monday
+
+ %U week number of year, with Sunday as first day of week (00..53)
+
+ %V ISO week number, with Monday as first day of week (01..53)
+
+ %w day of week (0..6); 0 is Sunday
+
+ %W week number of year, with Monday as first day of week (00..53)
+
+ %x locale's date representation (e.g., 12/31/99)
+
+ %X locale's time representation (e.g., 23:13:48)
+
+ %y last two digits of year (00..99)
+
+ %Y year
+
+ %z +hhmm numeric time zone (e.g., -0400)
+
+ %:z +hh:mm numeric time zone (e.g., -04:00)
+
+ %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)
+
+ %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30)
+
+ %Z alphabetic time zone abbreviation (e.g., EDT)
+
+ By default, date pads numeric fields with zeroes. The following optional flags may follow '%':
+
+ - (hyphen) do not pad the field
+
+ _ (underscore) pad with spaces
+
+ 0 (zero) pad with zeros
+
+ ^ use upper case if possible
+
+ # use opposite case if possible
+
+ After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use
+ the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available.
+
+EXAMPLES
+ Convert seconds since the epoch (1970-01-01 UTC) to a date
+
+ $ date --date='@2147483647'
+
+ Show the time on the west coast of the US (use tzselect(1) to find TZ)
+
+ $ TZ='America/Los_Angeles' date
+
+ Show the local time for 9AM next Friday on the west coast of the US
+
+ $ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
+
+DATE STRING
+ The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or
+ "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day,
+ time zone, day of week, relative time, relative date, and numbers. An empty string indicates the beginning of the day.
+ The date string format is more complex than is easily documented here but is fully described in the info documentation.
+
+AUTHOR
+ Written by David MacKenzie.
+
+REPORTING BUGS
+ GNU coreutils online help:
+ Report date translation bugs to
+
+COPYRIGHT
+ Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
+ .
+ This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
+
+SEE ALSO
+ Full documentation at:
+ or available locally via: info '(coreutils) date invocation'
+
+GNU coreutils 8.28 January 2018 DATE(1)
+CAL(1) BSD General Commands Manual CAL(1)
+
+NAME
+ cal, ncal — displays a calendar and the date of Easter
+
+SYNOPSIS
+ cal [-31jy] [-A number] [-B number] [-d yyyy-mm] [[month] year]
+ cal [-31j] [-A number] [-B number] [-d yyyy-mm] -m month [year]
+ ncal [-C] [-31jy] [-A number] [-B number] [-d yyyy-mm] [[month] year]
+ ncal [-C] [-31j] [-A number] [-B number] [-d yyyy-mm] -m month [year]
+ ncal [-31bhjJpwySM] [-A number] [-B number] [-H yyyy-mm-dd] [-d yyyy-mm] [-s country_code] [[month] year]
+ ncal [-31bhJeoSM] [-A number] [-B number] [-d yyyy-mm] [year]
+
+DESCRIPTION
+ The cal utility displays a simple calendar in traditional format and ncal offers an alternative layout, more options and the
+ date of Easter. The new format is a little cramped but it makes a year fit on a 25x80 terminal. If arguments are not spec‐
+ ified, the current month is displayed.
+
+ The options are as follows:
+
+ -h Turns off highlighting of today.
+
+ -J Display Julian Calendar, if combined with the -o option, display date of Orthodox Easter according to the Julian
+ Calendar.
+
+ -e Display date of Easter (for western churches).
+
+ -j Display Julian days (days one-based, numbered from January 1).
+
+ -m month
+ Display the specified month. If month is specified as a decimal number, appending ‘f’ or ‘p’ displays the same
+ month of the following or previous year respectively.
+
+ -o Display date of Orthodox Easter (Greek and Russian Orthodox Churches).
+
+ -p Print the country codes and switching days from Julian to Gregorian Calendar as they are assumed by ncal. The coun‐
+ try code as determined from the local environment is marked with an asterisk.
+
+ -s country_code
+ Assume the switch from Julian to Gregorian Calendar at the date associated with the country_code. If not specified,
+ ncal tries to guess the switch date from the local environment or falls back to September 2, 1752. This was when
+ Great Britain and her colonies switched to the Gregorian Calendar.
+
+ -w Print the number of the week below each week column.
+
+ -y Display a calendar for the specified year. This option is implied when a year but no month are specified on the com‐
+ mand line.
+
+ -3 Display the previous, current and next month surrounding today.
+
+ -1 Display only the current month. This is the default.
+
+ -A number
+ Months to add after. The specified number of months is added to the end of the display. This is in addition to any
+ date range selected by the -y, -3, or -1 options. For example, “cal -y -B2 -A2” shows everything from November of
+ the previous year to February of the following year. Negative numbers are allowed, in which case the specified num‐
+ ber of months is subtracted. For example, “cal -y -B-6” shows July to December. And “cal -A11” simply shows the next
+ 12 months.
+
+ -B number
+ Months to add before. The specified number of months is added to the beginning of the display. See -A for examples.
+
+ -C Completely switch to cal mode. For cal like output only, use -b instead.
+
+ -N Switch to ncal mode.
+
+ -d yyyy-mm
+ Use yyyy-mm as the current date (for debugging of date selection).
+
+ -H yyyy-mm-dd
+ Use yyyy-mm-dd as the current date (for debugging of highlighting).
+
+ -M Weeks start on Monday.
+
+ -S Weeks start on Sunday.
+
+ -b Use oldstyle format for ncal output.
+
+ A single parameter specifies the year (1–9999) to be displayed; note the year must be fully specified: “cal 89” will not
+ display a calendar for 1989. Two parameters denote the month and year; the month is either a number between 1 and 12, or a
+ full or abbreviated name as specified by the current locale. Month and year default to those of the current system clock
+ and time zone (so “cal -m 8” will display a calendar for the month of August in the current year).
+
+ Not all options can be used together. For example, the options -y, -3, and -1 are mutually exclusive. If inconsistent
+ options are given, the later ones take precedence over the earlier ones.
+
+ A year starts on January 1.
+
+ Highlighting of dates is disabled if stdout is not a tty.
+
+SEE ALSO
+ calendar(3), strftime(3)
+
+HISTORY
+ A cal command appeared in Version 5 AT&T UNIX. The ncal command appeared in FreeBSD 2.2.6. The output of the cal command
+ is supposed to be bit for bit compatible to the original Unix cal command, because its output is processed by other programs
+ like CGI scripts, that should not be broken. Therefore it will always output 8 lines, even if only 7 contain data. This
+ extra blank line also appears with the original cal command, at least on Solaris 8
+
+AUTHORS
+ The ncal command and manual were written by Wolfgang Helbig .
+
+BUGS
+ The assignment of Julian–Gregorian switching dates to country codes is historically naive for many countries.
+
+ Not all options are compatible and using them in different orders will give varying results.
+
+BSD March 14, 2009 BSD
+TOUCH(1) User Commands TOUCH(1)
+
+NAME
+ touch - change file timestamps
+
+SYNOPSIS
+ touch [OPTION]... FILE...
+
+DESCRIPTION
+ Update the access and modification times of each FILE to the current time.
+
+ A FILE argument that does not exist is created empty, unless -c or -h is supplied.
+
+ A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard
+ output.
+
+ Mandatory arguments to long options are mandatory for short options too.
+
+ -a change only the access time
+
+ -c, --no-create
+ do not create any files
+
+ -d, --date=STRING
+ parse STRING and use it instead of current time
+
+ -f (ignored)
+
+ -h, --no-dereference
+ affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of
+ a symlink)
+
+ -m change only the modification time
+
+ -r, --reference=FILE
+ use this file's times instead of current time
+
+ -t STAMP
+ use [[CC]YY]MMDDhhmm[.ss] instead of current time
+
+ --time=WORD
+ change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to
+ -m
+
+ --help display this help and exit
+
+ --version
+ output version information and exit
+
+ Note that the -d and -t options accept different time-date formats.
+
+DATE STRING
+ The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or
+ "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day,
+ time zone, day of week, relative time, relative date, and numbers. An empty string indicates the beginning of the day.
+ The date string format is more complex than is easily documented here but is fully described in the info documentation.
+
+AUTHOR
+ Written by Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith.
+
+REPORTING BUGS
+ GNU coreutils online help:
+ Report touch translation bugs to
+
+COPYRIGHT
+ Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
+ .
+ This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
+
+SEE ALSO
+ Full documentation at:
+ or available locally via: info '(coreutils) touch invocation'
+
+GNU coreutils 8.28 January 2018 TOUCH(1)
diff --git a/92_Dollydaga/The Bad Tutorials/51/pattern.sh b/92_Dollydaga/The Bad Tutorials/51/pattern.sh
new file mode 100644
index 0000000..4e4fbf7
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/51/pattern.sh
@@ -0,0 +1,16 @@
+a=1
+while [ $a -le 3 ]
+do
+ b=1
+ while [ $b -le 3 ]
+ do
+ c=1
+ while [ $c -le 3 ]
+ do
+ echo "$a$b$c"
+ c=`expr $c + 1`
+ done
+ b=`expr $b + 1`
+ done
+ a=`expr $a + 1`
+done
diff --git a/92_Dollydaga/The Bad Tutorials/52/break.sh b/92_Dollydaga/The Bad Tutorials/52/break.sh
new file mode 100644
index 0000000..7462128
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/52/break.sh
@@ -0,0 +1,12 @@
+count=1
+while [ $count -le 10 ]
+do
+ if [ $count -eq 6 ]
+ then
+ break
+ fi
+ echo $count
+ count=`expr $count + 1`
+done
+
+echo "we are out of the loop"
diff --git a/92_Dollydaga/The Bad Tutorials/53/continue.sh b/92_Dollydaga/The Bad Tutorials/53/continue.sh
new file mode 100644
index 0000000..63b4419
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/53/continue.sh
@@ -0,0 +1,12 @@
+count=0
+while [ $count -le 9 ]
+do
+ count=`expr $count + 1`
+ if [ $count -eq 5 ]
+ then
+ continue
+ fi
+ echo $count
+done
+
+echo "we are out of loop"
diff --git a/92_Dollydaga/The Bad Tutorials/54/cammands.sh b/92_Dollydaga/The Bad Tutorials/54/cammands.sh
new file mode 100644
index 0000000..015a8af
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/54/cammands.sh
@@ -0,0 +1,3 @@
+ls ; cal ; banner "hello"
+
+grep -i you test_file > pattern && echo "the task was compleeted"
diff --git a/92_Dollydaga/The Bad Tutorials/54/pattern b/92_Dollydaga/The Bad Tutorials/54/pattern
new file mode 100644
index 0000000..e83efd6
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/54/pattern
@@ -0,0 +1,35 @@
+Are you calling me? Are you trying to get through?
+Are you reaching out for me, like I'm reaching out for you?
+But you'd have to walk a thousand miles
+I'll be you, let's trade shoes
+Feel your pain, you feel mine
+But don't let 'em say you ain't beautiful, oh
+Just stay true to you
+So don't let 'em say you ain't beautiful
+Just stay true to you, yeah, so...
+I just want to be just like you
+"Ha!, Marshall you're so funny man, you should be a comedian, God damn"
+So why don't you all sit down?
+And you ain't gotta walk no thousand miles
+I'll be you, let's trade shoes
+Feel your pain, you feel mine
+But don't let 'em say you ain't beautiful
+Just stay true to you so
+Don't let 'em say you ain't beautiful
+Just stay true to you so
+But I already told you my whole life story
+'Cause where you see it from where you're sitting
+What size you wear? I wear tens
+Let's see if you can fit your feet
+I'll be you, let's trade shoes
+Feel your pain, you feel mine
+But don't let 'em say you ain't beautiful, oh
+Just stay true to you
+So don't let 'em say you ain't beautiful
+Just stay true to you, yeah, so...
+So are you calling me, are you trying to get through, oh?
+Are you reaching out for me, like I'm reaching out for you?
+And to the rest of the world, God gave you them shoes
+To fit you, so put 'em on and wear 'em
+Be yourself, man, be proud of who you are
+Don't ever let no one tell you, you ain't beautiful
diff --git a/92_Dollydaga/The Bad Tutorials/54/test_file b/92_Dollydaga/The Bad Tutorials/54/test_file
new file mode 100644
index 0000000..7b13c95
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/54/test_file
@@ -0,0 +1,142 @@
+Lately I've been hard to reach, I've been too long on my own
+Everybody has a private world where they can be alone
+Are you calling me? Are you trying to get through?
+Are you reaching out for me, like I'm reaching out for you?
+
+I'm just so fuckin' depressed, I just can't seem to get out this slump
+If I could just get over this hump
+But I need something to pull me out this dump,
+I took my bruises, took my lumps
+Fell down and I got right back up
+But I need that spark to get psyched back up
+In order for me to pick the mic back up
+I don't know how or why or when I ended up in this position I'm in
+I'm starting to feel distant again
+So I decided just to pick this pen
+Up and try to make an attempt to vent
+But I just can't admit
+Or come to grips with the fact that I may be done with rap
+I need a new outlet, and I know some shit's so hard to swallow
+But I just can't sit back and wallow
+In my own sorrow
+But I know one fact I'll be one tough act to follow
+One tough act to follow
+I'll be one tough act to follow
+Here today, gone tomorrow
+But you'd have to walk a thousand miles
+
+In my shoes, just to see
+What it's like, to be me
+I'll be you, let's trade shoes
+Just to see what it'd be like to
+Feel your pain, you feel mine
+Go inside each other's minds
+Just to see what we find
+Look at shit through each other's eyes
+But don't let 'em say you ain't beautiful, oh
+They can all get fucked.
+Just stay true to you
+So don't let 'em say you ain't beautiful
+Oh, they can all get fucked.
+Just stay true to you, yeah, so...
+
+I think I'm starting to lose my sense of humor
+Everything is so tense and gloom
+I almost feel like I gotta check the temperature in the room
+Just as soon as I walk in
+It's like all eyes on me
+So I try to avoid any eye contact
+'Cause if I do that then it opens the door for conversation
+Like I want that... I'm not looking for extra attention
+I just want to be just like you
+Blend in with the rest of the room
+Maybe just point me to the closest restroom
+I don't need no fucking man servant
+Trying to follow me around and wipe my ass
+Laugh at every single joke I crack
+And half of them ain't even funny like
+"Ha!, Marshall you're so funny man, you should be a comedian, God damn"
+Unfortunately I am, but I just hide behind the tears of a clown
+So why don't you all sit down?
+Listen to the tale I'm about to tell
+Hell, we don't gotta trade our shoes
+And you ain't gotta walk no thousand miles
+
+In my shoes, just to see
+What it's like, to be me
+I'll be you, let's trade shoes
+Just to see what it'd be like to
+Feel your pain, you feel mine
+Go inside each other's minds
+Just to see what we find
+Look at shit through each other's eyes
+But don't let 'em say you ain't beautiful
+Oh they can all get fucked.
+Just stay true to you so
+Don't let 'em say you ain't beautiful
+Oh they can all get fucked.
+Just stay true to you so
+
+Nobody asked for life to deal us
+With these bullshit hands we're dealt
+We gotta take these cards ourselves
+And flip them, don't expect no help
+Now I could have either just
+Sat on my ass and pissed and moaned
+Or take this situation in which I'm placed in
+And get up and get my own
+I was never the type of kid
+To wait by the door and pack his bags
+Who sat on the porch and hoped and prayed
+For a dad to show up who never did
+I just wanted to fit in
+In every single place
+Every school I went
+I dreamed of being that cool kid
+Even if it meant acting stupid
+
+Aunt Edna always told me "Keep makin' that face it'll get stuck like that"
+Meanwhile I'm just standin' there
+Holdin' my tongue tryna talk like this
+'Til I stuck my tongue on that frozen stop sign pole at 8 years old
+I learned my lesson then cause I wasn't tryna impress my friends no more
+But I already told you my whole life story
+Not just based on my description
+'Cause where you see it from where you're sitting
+It's probably 110% different
+I guess we would have to walk a mile
+In each other's shoes, at least
+What size you wear? I wear tens
+Let's see if you can fit your feet
+
+In my shoes, just to see
+What it's like, to be me
+I'll be you, let's trade shoes
+Just to see what it'd be like to
+Feel your pain, you feel mine
+Go inside each other's minds
+Just to see what we find
+Look at shit through each other's eyes
+But don't let 'em say you ain't beautiful, oh
+They can all get fucked.
+Just stay true to you
+So don't let 'em say you ain't beautiful
+Oh, they can all get fucked.
+Just stay true to you, yeah, so...
+
+[Sample - Rock Therapy "Reaching Out":]
+Lately I've been hard to reach, I've been too long on my own
+Everybody has a private world where they can be alone...
+So are you calling me, are you trying to get through, oh?
+Are you reaching out for me, like I'm reaching out for you?
+So oh oh
+
+[Eminem:]
+Yeah... To my babies. Stay strong.
+Daddy will be home soon
+And to the rest of the world, God gave you them shoes
+To fit you, so put 'em on and wear 'em
+Be yourself, man, be proud of who you are
+Even if it sounds corny,
+Don't ever let no one tell you, you ain't beautiful
+So...
diff --git a/92_Dollydaga/The Bad Tutorials/56/check.sh b/92_Dollydaga/The Bad Tutorials/56/check.sh
new file mode 100644
index 0000000..56f3fa7
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/56/check.sh
@@ -0,0 +1,21 @@
+echo "Enter user name:\c"
+read logname
+
+time=0
+
+while true
+do
+ who | grep "$logname" > /home/harshit/Desktop/labwork/56/null
+ if [ $? -eq 0 ]
+ then
+ echo "$logname has logged in "
+ if [ $time -ne 0 ]
+ then
+ echo "$logname was $time min late in logging in"
+ fi
+ exit
+ else
+ time=`expr $time + 1`
+ sleep 60
+ fi
+done
diff --git a/92_Dollydaga/The Bad Tutorials/56/null b/92_Dollydaga/The Bad Tutorials/56/null
new file mode 100644
index 0000000..bad9329
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/56/null
@@ -0,0 +1 @@
+newuser pts/1 2019-04-17 01:54
diff --git a/92_Dollydaga/The Bad Tutorials/57/check.sh b/92_Dollydaga/The Bad Tutorials/57/check.sh
new file mode 100644
index 0000000..2b810ba
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/57/check.sh
@@ -0,0 +1,30 @@
+echo "Enter user name:\c"
+read logname
+
+grep "$logname" /etc/passwd > /home/harshit/Desktop/labwork/57/null
+if [ $? -eq 0 ]
+then
+ echo "wait...."
+else
+ echo "user not found."
+ exit
+fi
+
+time=0
+
+while true
+do
+ who | grep "$logname" > /home/harshit/Desktop/labwork/57/null
+ if [ $? -eq 0 ]
+ then
+ echo "$logname has logged in "
+ if [ $time -ne 0 ]
+ then
+ echo "$logname was $time min late in logging in"
+ fi
+ exit
+ else
+ time=`expr $time + 1`
+ sleep 60
+ fi
+done
diff --git a/92_Dollydaga/The Bad Tutorials/57/null b/92_Dollydaga/The Bad Tutorials/57/null
new file mode 100644
index 0000000..f04461d
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/57/null
@@ -0,0 +1 @@
+newuser:x:1001:1001:newuser,,,:/home/newuser:/bin/bash
diff --git a/92_Dollydaga/The Bad Tutorials/58/check.sh b/92_Dollydaga/The Bad Tutorials/58/check.sh
new file mode 100644
index 0000000..0acad18
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/58/check.sh
@@ -0,0 +1,38 @@
+echo "Enter user name:\c"
+read logname
+
+grep "$logname" /etc/passwd > /home/harshit/Desktop/labwork/58/null
+if [ $? -eq 0 ]
+then
+ echo "wait...."
+else
+ echo "user not found."
+ exit
+fi
+
+time=0
+
+while true
+do
+ who | grep "$logname" > /home/harshit/Desktop/labwork/56/null
+ if [ $? -eq 0 ]
+ then
+ echo "$logname has logged in "
+ if [ $time -ne 0 ]
+ then
+ if [ $time -gt 60 ]
+ then
+ min=`expr $time / 60`
+ sec=`expr $time % 60`
+ echo "$logname was $min min and $sec sec late in logging in"
+ else
+ sec=$time
+ echo "$logname was $sec seconds late in logging in"
+ fi
+ fi
+ exit
+ else
+ time=`expr $time + 1`
+ sleep 1
+ fi
+done
diff --git a/92_Dollydaga/The Bad Tutorials/6/rename.sh b/92_Dollydaga/The Bad Tutorials/6/rename.sh
new file mode 100644
index 0000000..0f75a5d
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/6/rename.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+echo "creating a file"
+touch test
+echo "renaming the file"
+mv test sample
+ls
+echo "removing the file"
+rm sample
+ls
+echo "creating a directory"
+mkdir new
+ls
+echo "removing the directory"
+rmdir new
+ls
diff --git a/92_Dollydaga/The Bad Tutorials/60/fun.sh b/92_Dollydaga/The Bad Tutorials/60/fun.sh
new file mode 100644
index 0000000..43c8c29
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/60/fun.sh
@@ -0,0 +1,8 @@
+hello()
+{
+ echo "Good morning"
+}
+bye()
+{
+ cal
+}
diff --git a/92_Dollydaga/The Bad Tutorials/61/script1.sh b/92_Dollydaga/The Bad Tutorials/61/script1.sh
new file mode 100644
index 0000000..1c669a4
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/61/script1.sh
@@ -0,0 +1,3 @@
+echo "script 1"
+
+sh script2.sh
diff --git a/92_Dollydaga/The Bad Tutorials/61/script2.sh b/92_Dollydaga/The Bad Tutorials/61/script2.sh
new file mode 100644
index 0000000..992ca9c
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/61/script2.sh
@@ -0,0 +1,3 @@
+echo "script 2"
+
+sh script3.sh
diff --git a/92_Dollydaga/The Bad Tutorials/61/script3.sh b/92_Dollydaga/The Bad Tutorials/61/script3.sh
new file mode 100644
index 0000000..7eb5b3e
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/61/script3.sh
@@ -0,0 +1 @@
+echo "script 3"
diff --git a/92_Dollydaga/The Bad Tutorials/7/copy.sh b/92_Dollydaga/The Bad Tutorials/7/copy.sh
new file mode 100644
index 0000000..ef1341d
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/7/copy.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+cd
+echo "creating a file"
+touch new
+echo "coping the file in music"
+cp new Music/new_music
+echo "enter some content in new"
+cat >> new
+echo "creating a link"
+ln new link
+echo "thus content of the link file is-"
+cat link
+echo "creating a soft link"
+ln -s new new_soft
+
diff --git a/92_Dollydaga/The Bad Tutorials/9/ls.sh b/92_Dollydaga/The Bad Tutorials/9/ls.sh
new file mode 100644
index 0000000..86cd649
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/9/ls.sh
@@ -0,0 +1,8 @@
+cat > test
+cd /home/harshit/
+echo "list of Home"
+ls
+echo "list with futher details"
+ls -l
+echo "another type of list"
+ls -a
diff --git a/92_Dollydaga/The Bad Tutorials/9/test b/92_Dollydaga/The Bad Tutorials/9/test
new file mode 100644
index 0000000..10377d3
--- /dev/null
+++ b/92_Dollydaga/The Bad Tutorials/9/test
@@ -0,0 +1 @@
+hello this is a test