Friday, April 7, 2017

Bash: Scripting - part 3- while getopts abcd opt

#!/bin/bash
#
while getopts abcd opt
do
        case "$opt" in
                a)
                        DIR=/etc/
                        echo "Option: a"
                        echo "Break out of case structure: option a"
                        sleep 1
                        echo "..." ;;
                b)
                        DIR=/var/
                        echo "Option: b"
                        echo "Break out of case structure: option b"
                        sleep 1
                        echo "..." ;;
                c)
                        DIR=/proc
                        echo "Option: c"
                        echo "Break out of case structure: option c"
                        sleep 1
                        echo "..." ;;
                d)
                        DIR=~/
                        echo "Option: d"
                        echo "Break out of case structure: option d"
                        sleep 1
                        echo "..." ;;

        esac
done

echo "Script continues to end"
echo
echo "Option $@ selected"
echo
cd $DIR
echo "Directory: $PWD"
sleep 3
ls -l | less

Results:

$ ./getopts11b.sh -d

Option: d
Break out of case structure: option d
...
Script continues to end
Option -d selected
Directory: /homeb/d54712
total 2220
drwxr-xr-x 7 itadmin  kmuser           8192 Oct 10 10:17 archive
-rwxrwxr-x 1 d54712   kmuser           1379 Jun 24  2016 assignees.txt
-rw-r--r-- 1 root     root           476397 Sep 15  2016 back_ks.tar.gz
drwxrwxr-x 2 itadmin  t3pelog_admins   4096 Feb 10  2016 bin
-rwxr-x--- 1 d54712   kmuser           5377 Oct 31 08:53 category.cgi
-rwxrwxr-x 1 solarweb solarweb       817521 Oct 29  2015 coa.txt
-rw------- 1 d54712   kmuser            347 Nov 18 11:29 dead.letter
-rwxr-xr-x 1 itadmin  kmuser           8481 Sep 30  2016 eSolarFTP.pl
drwxr-xr-x 2 root     root             4096 Dec 14 08:25 INC000011135541
drwxr-x--- 2 d54712   kmuser           4096 Nov 22 08:39 inet-form
drwxr-xr-x 2 root     root             4096 Aug 24  2016 ks_test
-rwxr-x--- 1 solarweb solarweb         1040 Dec  1 15:59 layout.css
drwxrwxr-x 2 itadmin  t3pelog_admins   4096 Mar 13 22:00 log
-rw-r--r-- 1 itadmin  kmuser         458413 Feb  9 03:12 manuals.txt
-rw-r--r-- 1 d54712   kmuser              0 Jan 31 09:53 manuals.txt_on_lewis_u r5.txt
-rw------- 1 root     root             2198 Nov 18 16:09 mbox


....

No comments:

Post a Comment