Skip to main content

Shell Script Examples

Bourne Again Shell (bash) is the common shell used in Unix/Linux based Operating Systems. Also these days, even Windows OS also comes with an option called Power Shell.  This post will list out some basic exercises that a shell can do. Do follow this blog with more number of exercises.
To run a bash file, you can use either of these following commands
  • bash file.sh
  • sh file.sh
  • ./file.sh (in this case the file.sh should be made executable)
For making executable file, use this command chmod 755 file.sh
1. A Shell to Handle a File, rename a given file, compress it and move it to a newfolder and decompress it in the newfolder
   1: #!/bin/bash
   2: touch pri.txt
   3: ls >; pri.txt
   4: mv pri.txt file.doc
   5: tar zcvf compress.tar.gz file.doc
   6: mkdir newfolder/
   7: cp compress.tar.gz newfolder/
   8: cd newfolder/
   9: tar zxvf compress.tar.gz

2. A shell to find a particular string from a file and redirect it to another file.
 
#!/bin/bash
echo "Enter a string to be searched in the file : "
read search
echo "Enter a file name  : "
read name_file
grep $search $name_file > found.txt
cat found.txt

3. A shell to read a variable and process it mathematically (use of add operation).
#!/bin/bash
echo -n "Enter 1st number : "
read a
echo -n "Enter 2nd number : "
read b
c=`expr $a + $b`
echo "The value is $c"

4. A shell to Greet the user based on the system time.

#!/bin/bash
dat=`date +%H`
if [ "$dat" -lt 12 ]; 
then
echo "Good Morning"
elif [ "$dat" -lt 17 ] ;
then
echo "Good Afternoon"
else
echo "Good Evening"
fi
5. A shell to create a menu based system to control multiple commands using case esac block
#!/bin/bash
echo "What do you want to know ?"
echo "1. Today's Date"
echo "2. Today's Day"
echo "3. Time"
echo "4. Current Month"
echo "5. Current Year"
echo "6. Current Week"
echo "Enter a number to choose from the menu"
read ch
case "$ch" in
1)
dat=`date +%d`
echo "Today's date is $dat"
;;
2)
day=`date +%a`
echo "Today is $day"
;;
3)
time=`date +%T`
echo "The time now is $time"
;;
4)
mon=`date +%b`
echo "The month is $mon"
;;
5)
year=`date +%Y`
echo "The year is $year"
;;
6)
week=`date +%W`
echo "This is the $week th of the year"
;;
*)
echo "Try again"
esac
6. A shell to find the number of document files in a given directory using for loop.
#!/bin/bash
count=0;
for i in *.doc
do
count=`expr $count + 1`
done
echo "There are $count documents"



Try running these examples and get the use of SHELL.
Pradeep Kumar TS

Comments

Popular posts from this blog

Implementing a new system call in Kernel version 2.6.32

A system call is used by application or user programs to request service from the operating systems. Since the user programs does not have direct access to the kernel whereas the OS has the direct access. OS can access the hardware through system calls only. The following files has to be modified for implementing a system call /usr/src/linux-2.6.32.5/arch/x86/kernel/syscall_table_32.S /usr/src/linux-2.6.32.5/arch/x86/include/asm/unistd_32.h /usr/src/linux-2.6.32.5/include/linux/syscalls.h /usr/src/linux-2.6.32.5/Makefile New set of files to be created Create a new directory newcall/ inside the path “ /usr/src/linux-2.6.32.5/ ” Create new files Makefile, newcall.c and put them in the /usr/src/linux-2.6.32.5/newcall/ folder Create new user files (in any folder of Linux) to test the system call testnewcall.c, testnewcall.h (created in /home/pradeepkumar ) syscall_table_32.S Find the file /usr/src/linux-2.6.32.5/arch/x86/kernel/syscall_tab

How to Access MOODLE in Intranet and Internet

When Moodle is accessed either in Intranet or internet, there will not be any issue. But occasions when the MOODLE Site has to be accessed both in the intranet and in the Internet, here is a simple trick Server Used: IBM Blade Servers Operating system: Windows Server 2008 Moodle Version: 2.4 WAMP Server is used. Number of Users: 3000 (Students) + 200 (Faculty) Open the config.php from ~/moodle/config.php include these lines $CFG->wwwroot = 'http://'.$server_id.'/vitcc'; $CFG->dataroot  = 'C:\\wamp\\moodledata'; before the following line $CFG->directorypermissions = 07xx; Restart the WAMP Server and you can Check MOODLE Site both in Internet and Intranet. The above Image tells the intranet Link and the internet link can be opened outside the campus network

Electrical Machine Design (equations)

Factors DC Machine Transformers Induction Machines Synchronous Machines Output Equation P a =C o D 2 Ln, where Pa=P/h for generators, Pa=P for motors For Single Phase Q=2.22 f B m A i K w A w d 10 -3 For Three Phase Q=3.33 f B m A i K w A w d 10 -3 Q=C o D 2 L n s KVA Input Q= HP * 0.746 / Cos f * h Q=C o D 2 L n s KVA Input Q= HP * 0.746 / Cos f * h For Turbo alternators Q=1.11B av ac K ws V a 2 L 10 -3 /n s Output Coefficient C o =B av ac* 10 -3 where Bav-magnetic loading and ac - electric loading DNA C o =11 K ws B av ac 10 -3 C o =11 K ws B av ac 10 -3 Choice of Magnetic Loading Flux Density in Teeth Frequency of Flux Reversals Size of machine DNA Magnetizing current, Flux Density, Iron loss Iron loss, Stability, Voltage Rating, Parallel Operation, Transient ShortCircuit current