[sf-lug] Need help with an Linux assignment script
jim
jim at well.com
Mon Apr 28 21:05:03 PDT 2008
i looked at the link and can find nothing
that is tagged asmt02. please provide a link
to the exact assignment so we don't have to
hunt around.
what error messages or failure symptoms do
you get when you run this?
assuming the filename is asmt02.sh you
can
head -20 asmt02.sh > a2-try.sh
and
vi a2-try.sh
so's to prune what you've got in your a2-try.sh
file so that it looks like it'll work.
chmod 755 a2-try.sh
and then run it and see if it works.
if so, then essentially
head -30 asmt02.sh | tail -10 > a2-try.sh
vi a2-try.sh
in other words add a bit more to it and vi
it and run it and keep doing so until it
runs into a wall.
verify your if elif else fi blocks and
quotes and make sure that all $ are
correctly placed (and not missing).
you'll probably find the error yourself,
but if not, provide a direct link to the
assignment and provide a description of
failure and we'll (at least i'll) try again.
On Mon, 2008-04-28 at 20:07 -0700, Timothy Wang wrote:
> I am doing an assignment in City College CS160b and was having difficulty
> understanding why it is not working. The assignment is posted on
>
> http://fog.ccsf.cc.ca.us/~gboyd/
>
> under cs 160b asmt02
>
> twang03 at hills:~ $ vi chk
>
> #!/bin/bash
> #1st argument if filepath exists, output in readable sentences
>
>
>
>
> if [ $# -lt 2 ]; then
> echo "chk: need -f or -u file or user" >&2
> exit 1
> fi
>
> if [ ! "$1" = -f ] && [ ! "$1" = -u ]; then
> echo "chk need -f or -u plus file or user" >&2
> exit 1
> fi
> # ===== ============================
> if [ "$1" = -f ]; then
>
> if [ -h "$fname" ]; then
> echo "fname" is a path to a symbolic link
>
> elif [ -d "$fname" ]; then
> echo "$fname" is a path to a directory
>
> elif [ -f "$fname" ]; then
> echo "fname" is a path to a regular file
>
> elif [ ! -d " $fname" ] && [ ! -f "$fname" ] && [ ! -h "$fname" ];then
> echo "$fname" is a path to an unknown filetype.
> fi
>
> if [ -r "$fname" ] && [ ! -w "$fname" ] && [ ! -x "$fname" ]; then
> echo "$fname" is readable.
> else
> echo "$fname" is not readable.
> fi
>
> if [ -w "$fname" ] && [ ! -w "$fname" ] && [ ! -x "$fname" ]; then
> echo "$fname" is writable
> else
> echo "$fname" is not writable
> fi
>
> if [ -x "$fname" ] && [ ! -w "$fname" ] && [ ! -x "$fname" ]; then
> echo "$fname" is executable
> else
> echo "$fname" is not executable
> fi
> fi
> # ==================================================
>
> if [ "$1" = -u ]; then
> if $(! cat /etc/passwd | grep "^$2:" > /dev/null)
> then
> echo error found
> fi
> login="$2"
> name="$(finger -m "$login" | grep 'real life' | cut -d':' -f3 | tail -n1)"
>
> logrec="$(finger -m "$login" | grep 'Last login' | cut -d' ' -f3)"
> whom="$(who | grep "$login")"
> hmdir="$(finger -m "$login" | grep 'Directory: ' | cut -d' ' -f2)"
>
> if "$("name" = "???")"; then
> echo "$login doesn\'t exist on this system"
> else
> if [ -n "$who" ]; then
> echo "$login is currently logged into the system"
> else
> echo "$login"\'s last login was "$logrec"
> fi
>
> echo "$login"\'s real name is "$name"
> echo "$login"\'s home directory is located at "$hmdir"
> fi
> fi
>
> 77,0-1 96%
>
>
> ____________________________________________________________________________________
> Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
>
> _______________________________________________
> sf-lug mailing list
> sf-lug at linuxmafia.com
> http://linuxmafia.com/mailman/listinfo/sf-lug
>
More information about the sf-lug
mailing list