Thanks Alison, I am hoping to have mostly everything by tonight. take care,
Alvaro On Sun, 2002-11-03 at 20:10, Cleve Allison wrote: > Hey Alvaro......looks great. I love it when speakers use real world > examples of something useful. Don't know if I'll get to go to the > presentation but your outline taught me stuff I didn't know. > Cleve > > > > > On Sun, 2002-11-03 at 18:44, Alvaro Zuniga wrote: > > Hello guys: > > Here is a hand out for the shell programming part of the presentation. > > It is a brief overview for those new to the subject. I will elaborate on > > the scripts which I believe are sufficient to show the power of shell > > scripting. I will probably compare it to applescript and windows > > scripting. > > > > I will have three more, one about programming languages and utilities > > supported. I will write a little interface that will allow a web based > > interaction with the system for commands such that yield appropriate > > output. > > > > Another about some editors. I will probably compare bluefish, glimmer, > > and some other one I have seen which work just about the same. This can > > show the power of open source because I think these applications share > > the same code. > > > > Another about anjuta and quanta to show internet and desktop > > development. I have been playing with kdevelp and seems really cool. It > > did not know you could use it for general programming. I will probably > > use that as well. > > > > That is going to be all in general. I would love to talk about cvs but I > > do not know anything about it and I do not think I can learn about it > > before the presentation. If anyone else would like to do that I think it > > would be beneficial. > > > > > > > > ___________________________________________________________________ > > > > Shell Programming > > > > Definition > > > > A shell is a program serving as an interface between user and operating > > system to execute commands interactively or automatically. > > > > Types > > > > There is a wide variety of shells. Their main differences are syntax and > > features. Here is a list of shells included with Red Hat Distribution. > > > > ash A small shell (sh-like) > > ash.static A version of ash not dependent on software libraries > > bash The Bourne Again Shell is based on the Bourne shell > > bash2 Newer version (2.03) of the Bourne Again Shell > > ksh The public-domain Korn shell > > pdksh A symbolic link to ksh > > rsh The restricted shell (for network operation) > > sh A symbolic link to bash > > tcsh A csh-compatible shell plus additional features > > zsh A compatible csh, ksh, and sh shell > > > > Usage > > > > To customize user session: set home directory, mail spool, path of > > executables, reminders, etc > > > > To execute commands: the shell can execute built-in commands and > > operating system commands. > > > > To program commands: a list of commands compiled into a text file. > > > > Example 1 > > > > > > $ ( default prompt waiting for commands) > > [EMAIL PROTECTED] $ ( customized prompt ) > > > > > > Example 2 > > > > > > $ cat .bashrc ( executing a command ) > > # .bashrc > > > > # User specific aliases and functions > > alias ls="ls -h --color" > > > > alias cp="cp -i" > > alias rm="rm -i" > > alias mv="mv -i" > > > > alias df="df -h" > > > > alias vi=vim > > alias mpg="mpg321 -Z" > > # Source global definitions > > if [ -f /etc/bashrc ]; then > > . /etc/bashrc > > fi > > $ ( end of output/back to prompt ) > > > > Features ( bash ) > > > > <tab> general completion of the text at prompt > > >, >> Output Redirection > > <, << Input Redirection > > ! Pipe output > > & Run process in background > > ; Separate commands on the same line > > *, ? Wild cards > > $container use container for variable > > kill Terminate running jobs > > alias Command substitution > > for, while Iteration statements > > function( ) Custom functions > > > > For details on bash visit > > > > http://www.gnu.org/software/bash/bash.html > > > > For Shell Programming > > > > http://wihok.8m.com/linux/rhl13.htm#E68E99 > > > > The importance of shell programming > > > > Shell languages are powerful and easy to learn. > > > > Imagine having rotate the logs of a webserver manually, no problem: > > > > #!/usr/bin/bash > > # script to rotate logs of www.oursite.net > > > > # getting the current date and formatting MonthDayYear > > date=$( date "+%m%d%Y") > > > > #changing the current directory of the current log and renaming the file > > cd /usr/www/logs/www.oursite.com > > mv access_log access_log.$date > > > > #restart the web server therefore creating a new log file > > /usr/www/bin/apachectl restart > > > > #a large log might be desirable > > cat access_log.$date >> fulllog > > > > #placing the log for viewing > > mv access_log.$date /usr/www/hosts/www.oursite.com/stats/logfiles/ > > > > # compressing the file > > # note that the full path of is required otherwise cd to the directory > > could do the job > > gzip /usr/www.hosts/www.oursite.com/stats/logfiles/access_log.$date > > > > #end of script > > > > Rewriting this script with a programming language such as c would be > > lengthier and more complex. > > > > Scripts, like any other command in Linux can be set to execute > > automatically at any given time when used in combination with a utility > > such as cron. > > > > > > _______________________________________________ > > General mailing list > > [email protected] > > http://oxygen.nocdirect.com/mailman/listinfo/general_brlug.net > > > > _______________________________________________ > General mailing list > [email protected] > http://oxygen.nocdirect.com/mailman/listinfo/general_brlug.net >
