Question: Can someone please help with this Linux script? So i figured out my last assignment, but our teacher wants us to modify this script using

Can someone please help with this Linux script?

So i figured out my last assignment, but our teacher wants us to modify this script using the following perameters.

1. Add a function to validate the username in /etc/passwd.

2. Use a case statement instead of "if" for the program name.

3. Use the "select" syntax to prompt for a continue value.

Here's the code that needs modifying: Help please!

#!/bin/bash

MYPGM=$0

NUMARGS=$#

echo "You called me as $MYPGM"

echo "You passed in $NUMARGS arguments."

if [ $NUMARGS -eq 4 ]; then

ARG1=$1

ARG2=$2

ARG3=$3

ARG4=$4

#Argument 1 and 2

if [ "$ARG1" == "uid" ] || [ "$ARG1" == "user" ]; then

FINDOPT=$ARG1

FINDVAL=$ARG2

else

echo "Usage: $0 [uid | user] [user id | username] [directory] [find option]"

echo "Invalid 1st Argument! Exit Code is: 5"

exit 5

fi

#Argument 3

if [ -d "$ARG3" ]

then

FINDDIR=$ARG3

echo "$ARG3 is a directory"

else

echo "$ARG3 is not a directory"

echo "Usage: $0 [uid | user] [user id | username] [directory] [find option]"

echo "Invalid 3rd Argument! Exit Code is: 6"

exit 6

fi

if [ -w "$ARG3" ]

then

echo "$ARG3 is writable"

else

echo "$ARG3 is not writable"

echo "Usage: $0 [uid | user] [user id | username] [directory] [find option]"

echo "Invalid 3rd Argument! Exit Code is: 6"

exit 6

fi

if [ -x "$ARG3" ]

then

echo "$ARG3 is executable"

else

echo "Usage: $0 [uid | user] [user id | username] [directory] [find option]"

echo "Invalid 3rd Argument! Exit Code is: 6"

exit 6

echo "$ARG3 is not executable"

fi

#Argument 4

if [ "$ARG4" == "ls" ] || [ "$ARG4" == "print" ] || [ "$ARG4" == "delete" ]

then

FINDCMD=$ARG4

else

echo "Usage: $0 [uid | user] [user id | username] [directory] [find option]"

echo "Invalid 4th Argument! Exit Code is: 7"

exit 7

fi

else

echo "Usage: $0 [uid | user] [user id | username] [directory] [find option]"

echo "Invalid number of Arguments! Exit Code is: 8"

exit 8

fi

if [ "$MYPGM" == "./tmp_look.sh" ]; then

echo "Looking in $FINDDIR for files owned by $FINDOPT $FINDVAL"

find "$FINDDIR" -maxdepth 1 -type f -"$FINDOPT" "$FINDVAL" -ls

RC=$?

elif [ "$MYPGM" == "./tmp_clean.sh" ]; then

echo "cleaning $FINDDIR for user id $FINDVAL"

find /tmp -maxdepth 1 -type f -"$FINDOPT" "$FINDVAL" -ls

echo "Do you wish to continue? Enter Y/y to proceed, or N/n to exit"

read OK

if [ "$OK" == "Y" ] || [ $OK == 'y' ]; then

echo "OK then, deleting..."

find "$FINDDIR" -maxdepth 1 -type f -"$FINDOPT" "$FINDVAL" -delete

RC="$?"

elif [ "$OK" == "N" ] || [ $OK == 'n' ]; then

echo "OK then, clean exit..."

RC=0

else

echo "Sorry, confused..."

RC=9

fi

fi

echo "Done! Exit Code is: $RC"

exit $RC

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!