|
CSE Home | About Us | Search | Contact Info |
Due: Sunday, Jan. 16, at 11 pm.
In this assignment you'll gain some more experience with shell commands and with writing short shell scripts.
General hint: Before trying to write and debug a script, it's very helpful to first work out the necessary commands by experimenting in a shell window. Also, look at man pages and other descriptions of commands. Sometimes options are available that allow a single command to do something you want instead of having to use several commands.
xyzzy
(and
nothing more)
is printed on standard out, and nothing is printed on standard error when
the
command
is
entered.
You
can
precede
your
commands
with other commands (e.g., to create a file, other commands, etc.) and/or
pass options to your commands. Solve this problem for each of the listed
commands
individually.echo, cat, ls, grep, !!In a text file called
problem1
describe your solution, including
each command you use and a very brief explanation of it.readonly
such that when you
run readonly
foo
,
the entire subtree of the file-system starting at foo
(so just foo
if
it is a file, but foo
and all of its files and subdirectories
recursively if it is a directory) has its permissions changed as follows:
defreadonly
such that entering source
defreadonly
would
make readonly
available in the current shell.combine
that takes 2 or more
arguments, call them f1, f2, ..., fn
. Script combine
should
work as follows:stderr
and exit.f1
already exists, print "Error: first file
exists" on stderr
and exit.f2, ..., fn
and
copy them to stdout
. Do not print any error messages from this (for example
if some file
does not exist or is a directory). Instead, any
such error messages should be written to f1
./dev/stdout
and/or /dev/stderr
.
These are not portable across *nix systems. Although they are found
on most
versions of Linux the problem can be solved without them.shift, $@, -lt, -a
.datedlinecount
that works as follows:total
../datedlinecount log foo bar; ./datedlinecount
log foo*; cat log
might produce something like:Mon Mar 26 20:42:16 PDT 2011 4 foo 17 bar 21 total Mon Mar 26 20:42:17 PDT 2011 4 foo 3 food 7 totalHints:
shift, date, wc, $@
.Assessment: Your solutions should be
bash
.Identifying information including your name, CSE 374 Homework 2, the problem number, and the date should appear as comments in each of your files.
Turn-in Instructions: Use the turn-in drop box link on
the main course web page to submit your files. If you wish, you
can combine your files into an archive (see the tar
command)
and turn that in as a single file. The choice is yours; do whichever
is most convenient.
Computer Science & Engineering University of Washington Box 352350 Seattle, WA 98195-2350 (206) 543-1695 voice, (206) 543-2969 FAX [comments to Hal Perkins] |