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.
fleem (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, run other commands, etc.) and/or
pass options or arguments to your commands. Solve this problem for each of the
commands listed below individually.echo, cat, ls, grep, !!In a text file called
problem1 describe your solutions, including
each command you use and a very brief explanation of it. And, yes, "nothing more" in the output means "nothing more".private such that when you
run private 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:
defprivate such that entering source defprivate would
make private available in the current shell.bash script 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 step (for example
if some file does not exist or is a directory). Instead, any
such error messages should be written to f1./dev/stdout 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.bash script called datedlinecount that works as follows:total../datedlinecount log foo bar; ./datedlinecount
log foo*; cat log might produce something like:Wed Jan 15 20:42:16 PDT 2014 4 foo 17 bar 21 total Wed Jan 15 20:42:17 PDT 2014 4 foo 3 food 7 totalHints:
shift, date, wc, $@.bash on our reference systems (klaatu and the CSE virtual machine).Identifying information including
problem1defprivatecombinedatedlinecountIf 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.
(The drop box will allow you to turn in your homework up to two days late, if you choose to use one or two of your late days, but you are strongly advised to save your late days for later in the quarter when they may be much more useful.)